(计算机系统结构专业论文)“龙腾s1”soc芯片外设控制器的设计与实现.pdf_第1页
(计算机系统结构专业论文)“龙腾s1”soc芯片外设控制器的设计与实现.pdf_第2页
(计算机系统结构专业论文)“龙腾s1”soc芯片外设控制器的设计与实现.pdf_第3页
(计算机系统结构专业论文)“龙腾s1”soc芯片外设控制器的设计与实现.pdf_第4页
(计算机系统结构专业论文)“龙腾s1”soc芯片外设控制器的设计与实现.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机系统结构专业论文)“龙腾s1”soc芯片外设控制器的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

i h :l l 业大学硕士学位论文摘要 摘要 p c i 0 4 :【业控制计算机在国内嵌入式应片j 领域占据了较大的市场份额。但是, 国内p c i 0 4 产品的核心集成电路,如处理鞴和芯片组等全部依赖进l 一。研究j r 发高性能工业控制计算机系统芯片实现核心元器件的自主研制,对提高我阁 p c i 0 4 工控系统产品的竞争能力和持续研发能力,具有j # 常重要的意义。 本文来源于国防“十五”预研课题( 项目编号4 1 3 0 8 0 f 0 3 0 7 ) ,作者参与完成 了p c i 0 4 工控系统s o c 芯片“龙腾s 1 ”的研制,提出了“龙腾s 1 ”的外设控制 器的设计方案并负责完成了其中键盘控制器、d m a 控制器、定时剧擞器三三个 模块的设计。 本论文的主要工作如下: 1 、分析了龙腾s t 芯片矫设控制的功能需求,提出了外设控制器的没计方案 和组织结构。 2 、分析了键盘通讯标准协议以及键盘控制器的功能,解决了键盘控制器与键 盘之间通信的时序匹配问题,完成键盘控制器的设计。 3 、完成了d m a 控制器的设计,并根据d m a 控制器集成于s o c 芯片中这 特点,对d m a 方存时序进行了优化。 4 、分析了计数,定时器的功能以及其支持的各转计数模式,完成了计数定时 器的设计。 5 、分别对键盘控制器、d m a 控制器。计数定时器进行了功能仿真验涯,并 完成丁外设控制器的仿真,进而集成于s o c 芯片之中完成了原型验证。 目前,“龙腾s l ”系统芯片已经成功流片,该芯片集成了4 8 6 d x 2 兼容微处 理器以及系统控制器和外设控制器、看门狗逻辑等。基于“龙腾s l ”芯片的p c i 0 4 工控机主机单板稳定运行了d o s 62 2 操作系统和典型应用程序,并在某型号无人 机飞行控制系统中顺利完成了应用验证。 关键诃:p c i 0 4 工控机、s o c 、外设控制器、键盘控制器、d m a 控制器、 计数定时器 翻北i :业大学硕士学位论文a b sc r a c t a b s t r a c t p c10 4i n d u s t r yc o n t r o lc o m p u t e rp l a y sag r e a tr o l ei nt h ed o m e s t i ce m b e d d e d a p p l i c a t i o nm a r k e t b u tk e yi cc h i p so fp c10 4 ,s u c ha sc p ua n dc h i p s e t ,m u s tb e i m p o r t e d d e v e l o p i n gh i 醇p e r f o r m a n c es y s t e m l e v e li ci s v e r yi m p o r t a n tf o r i m p r o v i n gt h ec a p a c i t yo fc o m p e t i t i o na n dl o n g t e r mr e s e a r c h t h ew o r ko ft h i st h e s i si ss u p p o r t e db yt h en a t i o n a la d v a n c e dr e s e a r c hp r o je c t ( g r a n tn o 4 1 3 0 8 0 1 0 3 0 7 ) t h ea u t h o rh a sp a r t i c i p a t e di nt h ed e s i g no fp c i 0 4s o c c h i p ,“l o n g t i u m s1 ”,p r o p o s e dt h ed e s i g ns c h e m eo ft h ep c 10 4s o c c h i p sp e r i p h e r a l e q u i p m e n tc o n t r o l l e r i na d d i t i o n ,t h r e ep a n so fp e r i p h e r a le q u i p m e n tc o n t r o l l e r : k e y b o a r dc o n t r o l l e r , d m ac o n t r o l l e ra n dt i m e ra r ei m p l e m e n t e d t h er e s e a r c hw o r ko ft h i sp a p e rm a i n l yi n c l u d e s : 1 、t h er e q u i r e m e n to fp c i 0 4s o cc h i p sp e r i p h e r a le q u i p m e n tc o n t r o l l e ri sa n a l y z e d , a n db a s e do ni t ,t h ea r c h i t e c t u r ea n do r g a n i z a t i o na r ep r o p o s e d 2 、t h es t a n d a r dk e y b o a r dc o m m u n i c a t i o np r o t o c o la n dt h ef u n c t i o no fk e y b o a r da r e a n a l y z e d t h ep r o b l e mo ft i m i n gc o m p a t i b i l i t yb e t w e e nk e y b o a r da n di t sc o n t r o l l e r i sr e s o l v e d t h e nt h e d e s i g no fk e y b o a r dc o n t r o l l e ri si m p l e m e n t e d 3 、d m ac o n t r o l l e ri sd e s i g n e da n da c c o m p l i s h e d t i m i n go fm e m o r ya c c e s si s o p t i m i z e da c c o r d i n gt ot h ec h a r a c t e r i s t i ct h a tt h ed m ac o n t r o l l e ri si n t e g r a t e di n t o t h es o c s y s t e m 4 、t h et i m e ra n di t sc o u n tm o d e sa r ed e t a i l e d l ya n a l y z e da n ds u c c e s s f u l l yd e s i g n e d 5 、t h em o d u l e so fk e y b o a r dc o n t r o l l e r , d m ac o n t r o l l e ra n dt i m e ra r ea l lv e r if i e d t h r o u g h s i m u l a t i o n 。p r o t o t y p ev e r i f i c a t i o no ft h ep e r i p h e r a le q u i p m e n tc o n t r o l l e ri s c a r r i e do u ta r e rt h e i ri n t e g r a t i n gi n t ot h es o c s y s t e mc h i p n o w “l o n g t i u m s1 ”s o ch a sb e e nt a p e d o u t t h e4 8 6 d x 2c o m p a t i b l e m i c r o p r o c e s s o r , s y s t e mc o n t r o l l e ra n dp e r i p h e r a le q u i p m e n tc o n t r o l l e ra r ei n t e g r a t e d o nt h e c h i p d o s 6 2 2 o sa n ds t a n d a r d a p p l i c a t i o np r o g r a mc o u l dr u no n “l o n g t i u m sl b a s e dp c i 0 4i n d u s t r yc o n t r o lc o m p u t e rs u c c e s s f u l l y n o t i c e a b l y , i th a s b e e na p p l i e di nt h ec o n t r o ls y s t e mo fa nu n m a n n e da v i a t i o n v e h i c l e ( u a v ) s u c c e s s f u l l y k e y w o r d s :p c i 0 4i n d u s t r yc o n t r o l lc o m p u t e r , s o c ,t h ep e r i p h e r a le q u i p m e n t c o n t r o l l e r , k e y b o a r dc o n t r o l l e r , d m ac o n t r o l l e r , t i m e r 竖:竖! ;些尘耋堡圭耋堡篁塞。 丝:茎丝冀 1 1 课题来源及背景 第一章绪论 s o c ( s y s t e m o na c h i p ) 自2 0 世纪9 0 年代后期出现以来,受到了学术界和_ - 1 3 1 k 界的极大关注”1 。s o c 通常将微处理器、模拟i p ( i n t e l l i g e n c ep r o p e r t y ) 核、数字i p 核核存储器( 或片外存储器控制接口) 集成予单一芯片上1 9 1 。但s o c 不是各个芯 片功能的简单叠加,丽是从熬个系统的功能和性能出发,用软硬结合的设计和验 证方法,利用口核复用及涕亚微米技术,在一个芯片上实现复杂的功能。随着集 成电路工艺技术的发展和e d a 设计水平的迅速提高,基于知识产权i p ( i n t e l l e c t u a l p r o p e r t y ) 核进行系统芯片s o ( 3 设计的能力和技术得到了很大提高。基于口集成 的可重用设计技术是将各种臻模块( 如微处理器、d s p 、存储器等等) 集成在一 起,其技术的关键在于建立正确、高效、灵活的片上总线结构,构造以功能纽装 为基础的芯片开发模型。 作为一种具备特殊性能的计算机,工控机能够在苛刻的外界环境下连续长时 间的稳定运行,能满足传统工业中过程控制与制造自动化对计算机高适应性和高 可靠性的特殊需求。最初,工控机主要应用于专业的工业现场控制领域。由于下 控机具有抗恶劣环境、结构扩充性能好、电压适用范围宽、各种i o 设备配套齐 全以及它对普通p c 软件的完全兼容性等诸多优点,使得它的应用广泛性要远远 高于普通p c 。尤其最近几年,其应用更是突破了传统的过程控制、制造业自动亿 而向通讯、电信、监控、金融、网络等许多商新科技产业扩展。时至今f j ,:】:控 机已成为计算机应用的重要分支。 我国工控机的研制水平与国外相比有很大的蓥距。目前我国的嵌入式工控机 几乎全部采用进口的国际流行的通用微处理器和芯片组,不利于国内的工控机产 业提高产品竞争力和持续研发能力。关键芯片受制子人,而且存在极大的安全隐 患。自主设计、研制具有自主产权的嵌入式工控平台已成为共识。因此发展具有 自己知识产权的高性能工控枫系统在我匿的国防及民用领域有着广阔的应蹦前 景。利用s o c 技术实现工控机的主体功能,不仅能极大简化 :控机系统的设计的 复杂性,降低设计成本,还能提高系统的可靠性和抗干扰能力。 本文来源于国防“十五”预研课题( 编号4 1 3 0 8 0 1 0 3 0 7 ) 。该课题完成了4 8 6 d x 2 兼容微处理器口核、4 8 6 芯片组、外围设备i p 核的开发,建立了以4 8 6 微处理 两北l :业大学硕士学位论文 第一章绪论 器为核心的s o c 设计平台,并完成了p c i 0 4 工控系统s o c 芯片( “龙腾s 1 ”、 的研制和系统应用验证。“龙膊s l ”系统芯片完全采用自顶向下的正向集成电路 设计方法,各个母具有自主知识产权。作者负责完成了“龙腾s 1 ”钋设控制器 中键盘控制器、d m a 控带4 器、定时,计数器三个模块的设计并分剐对它们进行r 功能仿真验证,并完成外设控制器的仿真,进而集成于s o c 芯片之中完成了原型 验证。 1 2 国内外研究现状 国外自上世纪6 0 年代出现第一台工业过程控制系统以来已经经过三代产品 的发展,随着计算机技术及产品的发展,工业控制系统亦相应地不断发展。就目 阿情况看,国外某些工控平台经过多年的实际应用和补充,已经很成熟。 p c i 0 4 是工业上用于嵌入式板卡较普遍的种规格,市场以每年3 5 的比率扩 大。p c i 0 4 工控机的核心处理器主流产品是4 8 6 d x 和p e n t i t i m 。目前,至少有1 5 0 家以上的制造商,正在生产着数百种各具特色的p c i 0 4 工控机产品。在国内市场, p c i 0 4 工控机大小品牌约在1 5 个左右。但是目前我国p c i 0 4 生产所使用的关键器 件仍由国外厂商掌握,如c p u 和芯片组等仍需依赖美国、f j 奉等厂商供应。此类 器件的市场供需状况及价格波动对p c i 0 4 工控机行业直接产生影晌。集成电路设 汁技术与制造工艺的飞速发展为p c i 0 4 嵌入式工控机系统集成芯片的研制定g 造了 条件。虽然兼容p c i 0 4 总线协议的工控平台的设计已经十分成熟,但是要把整个 p c i 0 4 系统的微处理器与外围芯片组做成系统级芯片( s o c ) 还比较少。据调查, 在国内还没有厂家和研究机构研制系统级的工控芯片,在欧美和台湾这些微电予 技术发达的地区对系统级工控芯片的研制也只是刚刚起步。出此可见。设计和开 发自主产权的系统级工控芯片在积累系统级芯片设计经验和提高我国集成电路的 设计水平上都具有重要意义。 国内在外设控制器的设计方面,李涛、张骏t i l l 周刚“2 1 等在d m a 控制 器设计方面,郑寿森1 1 3 1 李洪斌“4 1 等在用单片机设计专业键盘上开展了研究工 作,并有文章发表。但在集成于s o c 系统中的外设控制器设计方颟来见相关成果 报道。 1 3 论文研究工作 本文作者参加了航空微电子中心“龙腾s 1 ”工控系统s o c 芯片的研制, 要负责完成其中的外设控制器设计。 :堕! l ! 当盔主重圭堂堡鎏兰 篓! :塞丝鎏 本论文的主要工作如下: l 、分析了龙腾s lj 落片外设控制的功能需求,提出了外发控制器的设计力寨 和组织结构。 2 、分折了键盘通讯标准掷议以及键盘控制器的功能,解决了链盘控制器与键 盘之间通信的时序匹配问题,完成键盘控制器的设计。 3 、完成了d m a 控制器的设计,并根据d m a 控制器集成于s o c :占片中这 特点,对d m a 访存时序进行了优化。 4 、分析了计数,定时器的功能以及其支持的各种计数模式,完成了计数定时 器的设计。 5 、分别对键盘控制器、d m a 控制器、计数定时器进行了功能仿真验证,并完 成了外设控制器的仿真,进而集成于s o c 芯片之中完成了原型验证。 1 4 论文结构 本文共分五章,各章的主要内容如下: 第一章绪论。本章主要介绍本论文的课题来源及背景、国内外对p c i 0 4 工 控s o c 的研究现状及本论文的 :作和论文结构。 第二章“龙腾s 1 ”s o c 外设控制器分析。本章首先简单介绍了“龙腾s 1 ” s o c 整个系统,然后详细分析了“龙腾s 1 ”s o c 外设控制器的组成部分及个郝分 的基本概念和工作原理。 第三章“龙腾s 1 ”s o c 外设控制器设计。本章详细阐述了“龙腾s 1 ”s o c 外设控制器部分各个部分的实现方法。 第四章“龙腾s 1 ”s o c 外设控制器验证和实现。本章首先简单介绍了仿真、 验证、综合的目的和方法,然后详细介绍了本芯片外设控制器部分的仿真、验证、 综合和物理实现。 第五章结束语。本章主要是对本论文的总结。 西北i :业大学硕士学位论文第一:章“龙腾s 1 ”s o ( 2 外故控制器分所 第二章“龙腾s i ”s o c 外设控制器分析 本章首先简要介绍了“龙腾s 1 ”s o c ,占片的整体结构,接着根据“龙腾s i s o c 芯片的需要,提出了“龙腾s t ”s o c 外设控制器体系结构和设计方案,最后 详细分析了外设控制器中键盘控制器、d m a 控制器、定时计数器的工作原理。 2 i “龙腾s l ”s o c 结构简介 “龙腾s i ”s o c 完全兼容p c 1 0 4 协议。“龙腾s l ”由自主研发的兼容i n t e l x 8 6 定点、浮点指令集的微处理器核和系统控制器以及外设控制器三大部分组成。 圉2 1 为“龙腾s l ”s o c 的系统结构图。 图2 - 1 “龙腾s 1 ”s o c 的系统结构嘲 其中微处理器主要负责数据运算、指令译码、存储器控制、c a c h e 操作等核 心操作。系统控制器主要包括总线控制、微处理器和外设控制器之间通汛管理、 s r a m 读写控制等功能。外设控制器提供了整个s o c 系统和外部设备间通讯控制, 使芯片可以和外围设备进行数据传输。“龙腾s i ”s o c 芯片中外设控制嚣实现了芯 片与外部d m a 数据传输、键盘、串,并端口设备、软驱等设备间的数据传输。它 支持现有的通用外围设备如键盘、软驱、硬盘等。 由于整个芯片基于口核复用思想进行设计。在微处理器、系统控制器和外设 控制器设计中进行功能划分,均把它们划分成若干功能独立的子模块进行设计。 这样这些子模块既可以作为系统的部分,又可以独立的作为一个助能完善的部 件独立工作。系统控制器被划分成控制s d r m 读写的s d 鼢c o n t r o l l e r 模块、控制 总线仲裁的b u sc o n t r o l l e r 模块、控制i s a 协议转化的i s ac o n t r o ll e t 模块、 控制中断处理的i n t e r r u p tc o n t r o l l e r 模块以及实时时钟期、c 单元。外设控制器 包括用于控制d m a 传输方式的可编程d v t a 控制器、用于控制系统和键盘之间通讯 的键盘控制器( k b c ) 、用于控制系统和软驱之间数据传输的软驱控制器( f d c ) 、 用于控制系统和硬盘硬盘控制器( h d c ) 以及控制系统与串并接口设备之问数据 传输的可编程串并接口和可编程定时器计数器( t i m e r ) 。这些设备都直接连接 4 曲北“1 :业人学硕士学位沦文第二章“龙腾s l ”s o c 外i 殳控制器分析 在内部总线匕构成了完整的外设控制器系统。如图2 2 所示。 l l 暑錾蛰争兰 _ ,| 丽、i ! 曰匿匿盈 外 堡控制器 l 型 介l ! 珏一口 : l 炒i s a 竹竹竹介 。竹竹 iuu u扎uu 叫回厂磊一1e 焉翮一r 。a i l “l 卜r | 图2 - 2 “龙腾s l ”s o c 的系统结构图 本文作者设计了“龙腾s 1 ”s o c 芯片外设控制器的键盘控制器模块、d m a 控制器模块和定时计数器模块。下面分别详细分析这三个模块的工作照理、功能 以及工作方式等。 2 2 键盘通信机制分析 在“龙腾s i ”s o c 芯片中键盘控制器用来将键盘系统和s o c 芯片连接起柬。 该键盘控制器负责所有的键盘串行连接器的透信、数据有效性检查、缓冲b i o s 和键盘之间的数据以及将键盘扫描码翻译成芯片内部系绞扫描码。同时芯片可以 通过键盘控制器向键盘发送命令,还可以处理几个与键盘无关的系统功能,例如开 放a 2 0 地址线以及触发系统重肩。键盘通过两根信号线与键盘控制器串行通讯。 其中一根为串行数据信号,另一根为时钟控制信号。键盘控制器与c p u 之闻通过 8 位的数据总线连接。通过这8 位数据总线,c p u 可以读取或改写键盘控制器内 部寄存器。当键盘控制器在工作时发生了异常情况,它通过发中断信号来即时通 知c p u 对该异常进行处理。图2 3 为键盘系统的组织结构。 塑! ! ! ;些查耋塑主耋堡丝毫, 至三耋:垄堕。:! :丝堡堡型塑坌堡 扦发a 2 0 系统霞鹏 图2 3 键盘系统的纽织结构 “龙腾s 1 ”系统申一个典型的按键处理过程分成按下按键和松歼按键两个过 程。其具体过程如下:当按下某个按键时键盘把该按键对应的键盘扫描码发送到 键盘控制器。键盘控制器收到该键盘扫描字节,把泼扫描码翻译成系统扫描码并 把气放入输出缓冲区中。然后向系统发送中断请求信号表示数据可用。这个中断 请求调用中断处理程序、键盘b i o s 。系统处理该系统扫描码,清除键盘中断并 退出键盘b i o s 。当松开按键时,键盘不仅发送键盘扫描码并紧接着发送释放码 f 0 t t 。键盘控制器接收键盘控制器接收这两个字节,把键盘扫描码翻译成系统扫 描码同时将最高位置位发送数据有效中断。系统调用中断处理程序和键盘b i o s 。 处理完后再次清除键盘中断并推出键盘b 1 0 s 。整个按键系统处理过程结束。图2 4 为键盘系统图。 图2 4 键盘系统圈 键盘同步通信协议 键盘控制器通过单独的一条串行数据线和键盘通信。当从键盘读取数据时, 键盘控制器向键盘提供了条同步时钟线,当向键盘写数据时,键盘向键盘控制 器提供一个同步时钟线。键盘控制器和键盘间的数据每l l 位数据作为个串行数 据帧。1 1 位串行数据帧包含一个起始位、8 个数据位和一个奇偶校验位、一个结 束位。图2 5 键盘标准数据格式。 圣恒 一 蓄篙量 j i 北业人学硕七学位论文 蒴_ 二章“龙腾s 1 ”s o c 外波控制器分析 # _ 墨i i l l ii i 一j i 目,= j _ 口1 0 t a # e ,! = 自:! ! ! = 9 0 兰 i 卜一一l _ | _ c 一 d a t a l 二;j :二f 二j 二:j 1 二f f j 二一= 一二一一3 - 一卜 1 一卜卜一6 十一 l 1 。一。厂一 l 一j 。、,j 一 一b 1 上二b f l d 二女:二_ 二 f :i - - h i f7 一- k p 。i t y 二一j i 一二一唯。卜 、 图2 5 键盘标准数据格式 键懿控制器向键盘发生发送数据过程 键盘控制器向键盘发送数据也采用上面介绍的串行数据格式,但时钟是反向。 数据在时钟线低电平,在时钟线高电平时锁定 4 1 。在空闲状态。数据和时钟都是 高电平,第一个时钟脉冲是下降沿。如果在1 5 m s 内没有肩动时钟,或者第个 时钟周期超过2 m s ,就标志传送超时。正常操作下,时钟会继续发出脉冲,键擞 控制器依次发送每一位数据。在第1 1 个时钟脉冲时,键盘控制器发送一个结柬位 ( 1 ) 。并将时钟线恢复到闲置状态高电平。键盘控制器发送数据的时序如图2 6 所示: i 卜,一 l i _ p 一 d a t a | _ i - - 4 一3 卜一一4 十5 一寸* 一十一。“ 一l j r 、l 、l 、,: b i t o 二) 二二5 ,。二 _ 2 b i t 7 2 2 x 二二1 1 ”i t v 二芰s t r i p h i ! 一 _ 图2 6 键盘控制器发送数据的时序图 2 3d m a 传输方式原理 直接存储器存取控制也称为d m a ( d i r e c tm e m o r ya c c e s s ) 控制。在这种 控制方式一f ,i 0 设备和存储器直接交换信息,不需要m p u 的操作。d m a 方式 数据的传输无需经过m p u ,这可大大提高工作速度。d m a 控制方式的核心部件 是d m a 控制器( d m a c ) ,专门用来完成外设和存储器直接的高速数据传送。 d m a 控制器( d m a c ) 具有独立的访问存储器能力,其具有控制系统总线的基 本能力,可以提高内存地址和必要的内存和i o 读写控制信号,将数据总线j 二的 信息写入存储器或从存储嚣读出。 2 3 1 “龙腾s i ”d m a 控制器的基本功能 d m a 控制器给存储器和i o 提供d m a 传输期间的控制信号及存储器地址信 息。d m a c 实际上是一个特殊用途的微处理器,其工作是在存储器与i o 之间进 行高速数据传输。“龙腾s 1 ”外设控制器中的d m a 控制器为8 2 3 7 d m a 控制器。 阿北i i 业大学硕士学位论文第一:章“龙猎s 1 ”s o c 外殴控制器分析 8 2 3 7 足个4 通道器件,它与8 0 8 6 8 0 8 8 微处理器兼容。8 2 3 7 可以扩展为包含任 意数目的d m a 通道。8 2 3 7 能以最大每秒1 6 m b 的速率进行d m a 传输。每个通 道能够寻址一个完整的6 4 k b 存储器段并l i , - - 次编程可传输最多6 4 k b 数据1 2 1 0 d m a 传输有很多用途,如d r a m 刷新、视频显示刷新群幕以及磁盘存昭器系统 读写、商速的存储器到存储器的馁输”,。 广磊函一 i 。,。_ j 图2 7 “龙腾s i ”d m a 控制器内部结构 d m a c 控制数据传输的过程 在d m a 操作之前,m p u 先把要传送的数据块长度即字节数、数据块在存储 器的起始地址、传送方向( 存储器刘i o 设备或i o 设备到存储器) 等信息发送 到d m a c 。当i o 设备要求以d m a 方式为它服务时,g o 设备将d m a 请求触发 器置位,产生一个d m a 请求信号送到d m a c ;d m a c 检查该i o 设备是否被群 蔽及进行优先级判别后,响应此d m a 请求并向m p u 发出总线请求保持h o l d 信号。m p u 在每个总线周期结柬对检测h o l d 信号,如锁定信号无效则响应 h o l d 请求,进入保持态,使m p u 总线呈“离阻”状态,并将总线保持响应( h l d a ) 信号送往d m a c ,d m a c 一旦收到h l d a 信号则立即接管总线,并向发出请求 的外设发送d m a 响应d m a a c k 信号。d m a c 进入d m a 数据传送操作期,d m a c 给出内存地址,并提供i o 读写和存储器写读控制信号,在i o 设备和存储器之 间完成高速的数据传送。当编程时所规定的字节数据传送完毕后,d m a c 便送出 个“计数到”或“过程结束”信号给i o 设备,i o 设备据此撤销d m a r e q 信 堕! ! ! 些盔:堡土兰堡堕苎。薹。:塞:垄堕i ! :i 蓝2 1 堡垒型墼坌丝 号接着d m a c 撤销h o l d 信号,m p u 义要草新控制总线。至此,次d m a 传送结束。如果需要,还可用“计数到”信号使i o 设各引发个中断请求, m p u 以中断服务形式进行d m a 传送结束后的相应处理。 2 3 2d m a 数据传输操作方式 d m a 传送常用的操作方式有四种: 1 、单字节方式 每次d m a 操作只传送一个字节。即发出一个总线请求,d m a c 占用总线后, 进入d m a 方式只传送一个字节数据,便把总线控制权交回m p u 。按单字节方式 工作时,即使有一个数据块需要进行传送,也只能一个字节接个字节地传送, 每传送一个字节d m a c 必须熏新向m p u 申请总线。 2 、请求方式 这种方式要求外部持续保持d m a 请求,只要有请求,d m a c 则保持总线控 制权;当d m a 请求无效或数据字节传送结束或检索到匹配字节或者加一个过程 结束信号,d m a c 到释放总线给m p u 。 3 、连续方式 这种方式连续传送数据块,不管d m a 请求是否撤销,d m a c 始终控制总线, 真到字节传送结束或检索到匹配字节时,释放总线给m p u 。如采传送过程中d m a 请求变为无效,d m a c 只是等待它蒋次变为霄效,而不像请求方式那样释放总线。 这样,一旦d m a 请求从无效重新变为有效后,d m a c 不必重新申请总线,而是 从刚才停下柬等待的地址开始直接继续往下传送检索。显然,这种连续方式是几 种操作方式中最快的一种。 4 、级连方式 此方式并不是一种数据传送方式,而是提供了一种连接多个d m a 控制器芯 片,从而达到扩充d m a 数据通道的目的。在级连系统中,主片d m a 控制器芯 片只起优先级管理的作用。当带级连的主d m a 控制器芯片的级联通道得到响麻 后,它并不输出地址和控制信号,而是由级连d m a 控制器芯片的某个通道来产 生这些信号并控制完成d m a 传送操作。主d m a 控制器芯片仅对附加芯片的h r q 请求做出d a c k 响应,输出h l d a 信号,其他的输出均被禁止。利用这种级连 方式,可使系统最多具有1 6 个d m a 通道。在级连方式中主d m a 控制器芯片的 通道的优先级要高于附加d m a 控制器芯片的通道。图2 8 为d m a 控制器级连 结构图。 一些! ! ;些叁童堡圭耋堡垒塞。,薹i :塞二垄矍! ! :! ! 呈丝丝塞墅量坌堑 图2 - - 8d m a 控制器级连结构图 2 3 3 d m a 控制器操作类型 d m a c 有四种操作类型:数据传送、数据检索、数据传送与检索、数据校验。 l 、数据传送 数据传送操作是把源地址的数据传送到目的地址上。源地址和目的地址都既 可以是存储器又可以是i o 端口,即数据可以在r a m 与f o 之间传送数据,或者 在r a m 与r a m 之间传送。 2 、数据检索 数据检索是用来在指定的内存中查找是否存在某个关键字节( 也叫匹配字节) 或某几个关键数据位。在m p u 对d m a 编程时,先把要查找的关键字节写入寄存 器。d m a c 启动数据检索时,从源地址单元的起始地址开始,逐一读出内容来与 比较寄存器内的关键字进行比较,如一致就停止检索并置状态寄存器的相应标志, 有的还可以产生中断请求。数据检索也可以以位为单位进行。如果匹配字节按位 屏蔽,比较时只比较未被屏蔽的位。 3 、数据传送与检索并举 数据传送与检索并举操作是数据传送操作和检索操作的合成。该操作在进行 数据传送的过程中同时进行关键字检索。当找到和预先写入比较寄存器的内容相 0 两北l 业人学硕士学位论文 第:章“龙腾s 1 ”s o c 外设控制器分析 符合的数据字节时,停止传送。此时电可以罱状态标志位和发中断请求。 4 、数据校验 校验操作和检索操作一样,并不进行数据传送。当某d m a 通道处于授验 操作时,为了阻止数据的传送,小产生存储器或i o 设各的读写控制信号,但是, d m a c 芯片仍保持着对系统总线的控制权,并且每个d m a 周期都依然响应外豁 设备的d m a 请求。外部设备可以利用这些d m a 响应信号,在自己内部对个 数据块的每个字节进行某种校验,直至达到规定的字节数或外设不再发d m a 请 求为止。这种数据校验操作一般放在数据块传送结束之后进行。例如,d m a 校 验周期常跟随在d m a 读周期的后面,使外部设备能够校验它新得到的数据。 d m a 的传送类型有三种:读传送、写传送和校验传送。渎传送类型是把存 储器中的数据读出,传送到i o 设备。写传送类型是把i o 设备的数据传送到存 储器中。校验传送类型是在校验传送时d m a c 内部提供的一宜虚拟传输。d m a c 本身不进行任何校验。操作过程和d m a 读写传送过程一样,产生地址和结束信 号,但是不产生存储器和f o 读写控制线,不进行数据传送。只是提供给外设 直校验功能,外设可以利用这些时序信号进行校验。 d m a 的请求方式有两种:软件请求和硬件请求。软件请求是以软件方式对 d m a 请求寄存器进行设置,产生对d m a c 的请求。软件请求不受屏蔽寄存器的 影响。硬件请求是i o 设备准备好数据后将与d m a c 连接的d m a 请求信号线蔑 为有效,产生对d m a c 的请求。 2 4 计数器定时器基本功能及搡作 在“龙腾s 1 ”s o c 芯片中计数器定时器单元用来产生系统时钟。系统时钟 可以用来系统定时、看门狗时钟、对d r a m 动态刷新以及为内部扬声器和其他设 备提供定时时钟源。 图2 9 “龙腾s l ”计数器定时器内部结构 l l 零熹黟孚幕 警一里 学霉罕幕 硼ei :业人学硕十学位论文 第二章“龙腾s 1 ”s “外设控制器分目r 如图2 9 所示,“龙腾s 1 ”芯片中的汁数器定时器单元包括:个独立的计 算器通邋,它们的结构完全相同。三个计算器都有各自独立的编程地址。 芯片中计数器定时器单元为姆个通道提供了六种操作模式( 方式0 到方式 5 ) :单事件超时模式、可重新触发的单稳态寄存器模式、频率发生器模式、力波 发,生器模式、软件触发选通模式、硬件触发选通模式。其中方式0 、l 、4 、5 为计 算器工作方式,方式2 、3 为定时器方式。 方式o 单事件超时模式 该模式用于在一个预设的时间间隔后触发一个事件,例如中断。在这种方式 中,当控制字写入控制字寄存器,输出变为低电平。计数初值写入计数器初值寄 存器后,在下一个时钟脉冲下降沿,计数初值才送到减法计数器。门控信号为高 电平时允许计数器计数,如果门控信号为低电平时计算器停止计数。计数方式怒 减l 计数。在计数过程中输出信号一直保持为低电平,当计数到0 时输出信号变 成高。在计数过程中改变计数初值,改变立即有效,计数器从新的初始值开始做 减l 计数操作。 -l 一一 l 一一- 一一,一 i ls h :, ,一。l 一+ l 一l “| r j 一7 1 f t 一一 一n x 脚2 1 0 早争下f 趟州供a 删,r 图 方式l 一可重新触发的单稳态寄存器模式 这种方式可以作为单稳态触发器,使用门控信号触发次固定周期的输出。 在这种方式中,当控制字写入控制寄存器之后,输出保持为商。当c p u 写计数初 值后,计数器并不开始计数,直到外部门控信号上升沿到来之后在下一个时钳, 脉冲下降沿开始计数。整个计数过程中,输出信号都保持为低电平,煎到计数到 0 ,输出变成高电平。如果需要再次输出个脓冲,要求外部再次通过门控信号触 发启动计数器。如果提前触发( 单稳态触发届未回到稳惫又受到触发) 时,会使 计数器重新开始计数,单稳态输出交宽。 一l ,l 。 ts 1 31 l 一“30 一_ l 一一一i 一一一 厂一 7p ;二1 _ ! , t ; 。 i o 圈2 1 1 可重新触发的单稳态寄存器模式时序剐 1 2 j,j1 7寸;ii_k 一 一一 , 一一 jkb,斗1_i一 、 一邕 i 啊北 :业大学硕十学位论文 第二章“龙腾s 1 ”s o c 外改控制器分# r 方式2 一频率发生器模式 频率发生器模式用来生成一个周期性输出脉冲。这种方式可自动i2 作连续产 生负脉冲,脉冲产生周期可以编程设罱。如果汁数初值设成n 每输mn 1 个 时钟脉冲的正脉冲后,输出一个时钟脉冲的负脉冲。计数器在门控信号为高电平 时工作。在时钟脉冲控制下计数器开始计数。在计数过程中输出始终保持为南电 平,直到计数器减到1 时,输出将变成低电平。经过一个时钟脉冲后,输出恢复 成高电平且计数器开始重耨计数。如果在计算过程中,计算器初值再次被更改, 计数过程不受影响。计数器初值在下次计数丌始时改变。 一一一l 1 一、。 j d ( ! :一 4 :t a 图2 1 2 频率发生器模式时序图 方式3 一方波发生器模式 方波发生器模式用来生成一个周期性方波输出。方式3 和方式2 除了工作周 期输出波形不同外,其它控制基本类似。方式3 输出的是方波或者为基本对称的 矩形波。当计数值n 为偶数时,产生一个对称的方波,即输出为商电平和低电平 的时间完全相同;当初始值为奇数时,计数器输出波形为商电平的时间是( n + i ) 2 个时钟周期,低电平的时间是( n 1 ) 2 时钟周期。输出周期为n 个时钟周 期的方波。当设置控制字后输出端变为高电平。当设置完计数初值后,如果门 控信号为高,计数器将自动开始对输入时钟的计数,输出保持高电平,若n 为偶 数,则每一个时钟脉冲使计数器减2 ,当计数器减到0 时,计数器改变输出信号 的电平即有高变为低电平,同时重新装入计数初值,并重复上述技术过程。若计 数仞值为奇数,输出最初为高电平,在一个时钟周期内将计数值减一后( 变为偶 数) 在进行装入,然后每一个时钟脉冲使计数器减2 ,当计数值为0 后的个时 钟输出端变为低电平,在用初始僮减一的值熏新装入计数器,重复减2 计数,当 计数值为0 的同时,输出端变为高电平,同时用初始值减1 的值熏新装入。重复 上述过程。 vls b = 3 w r 6 a t e 一 0 u t c o t j n t e r 图2 一l3 方波发生器模式时事酗 13 峭北f j 业人学硕t 学位论文 第一章“龙腾s 1 ”s o c 外设控制器分析 方式4 一软件触发选通模式 方式4 为软件触发选通方式,这个模式用于在个由软件启动的延迟届生成的 一个脉冲输出。当写入控制字后,输出变为高电平。当减法计数器获得计数值后, 7r 始计数,计数器件输出保持为高,当计数到0 后输出又变成低电平,经过一个 时钟脉冲,输出又变成高电平。此时计数器停i l :t 数,只有在写入新的计数值后 歼始新的计数。计数器只能在门控信号为离电平时才能进行计数操作。 爿二i - 一:- 卜一。二卜_ 卜一 图2 一软件触发选通8 模- 式时序ii14 方式5 一硬件触发选通模式 这个模式用来在门控信号触发后输出一个脉冲。在这种方式,当写入控制字 以后,输出信号变成高电平。写入初始值居,它并不马上将计数初值送到减法计 数器。计数器只能在门控时钟上升沿后的下一个时钟脉冲开始计数。检测到门控 信号的上升沿后,计数器开始做减1 操作。当计数到0 时,输出一个时钟脉冲的 负脉冲后,停止计数,输出信号保持高电平。 图2 一1 5 硬件触发选通模式时序图 1 4 一=车卜r 下 ,二 一 , i卜一上j 曲- l l i i :业人学硕士学位论文第二三荜“龙腾s 1 ”s o c 外改控制器破计 第三章“龙腾s 1 ”s o c 外设控制器设计 本章在匕一章对“龙腾s 1 ”s o c 外设控制器分析的基础上,详细介绍了键盘 控制器、d m a 控制器、定时计数器的内部结构和没计方法。 3 1 键盘控制器设计 通过键盘控制器,“龙腾s 1 ”s o c 实现了与键盘的通讯。在键盘控制器的设 计中最关键的地方在于如何键盘与键盘控制器间数据传送时序的匹配问题。本设 计的传输控制逻辑部分很好的解决了该问题。 3 i i 键盘控制器结构分析 键盘控制器内部包括三个寄存器、片内r a m 和地址、读写译码控制逻辑以 及输入输出端口。”龙腾s l ”s o c 的片内r a m 由寄存器组实现。键盘控制器结 构如图3 1 所示。 圈3 1 键盘控制器结构图 3 1 2 键盘控制器寄存器组 键盘控制器内部包括三个寄存器:状态寄存器、输入缓冲寄存器、输出缓冲 堕北一1 :业大学硕七学位论文 第j i 帝“龙腾s 1 ”s o c 外设控制器设计 寄存器。 状态寄存器对应的端口地址为6 4 h ,是个8 位的只读寄存器,存放- 一螋键 德控制器内部工作情况的状态位,如奇偶校验错,接收超时,发送超时,封锁键 盘等。状态寄存器的每位的含义见下表。 炭3 l 状态寄存器备位含义 位功能 7 奇偶校验错误: 0 没有奇偶校验错误 1 来自键盘的串行数据发生了奇校验错误 6 接收超时: 0 没有超时 1 从键盘到键盘控制器的数据传送没有在预定时河内完成 5 发送超时: 0 没有超时 l 从犍盘控锘4 器到键盘的数据传送没有在顾定时间内完成 4 键盘锁定开关:恒1 ,璇示键盘没有被锁定。 3命令或者数据: 0 通过6 0 h 写入输入缓冲寄存器 i通过6 4 h 写入输入缓冲寄存器 键盘控制器通过该标志位米区分输入缓冲寄存器中是命令还是数据 系统标志: 键盘控制器根据不同的c p u 命令来设置该位。 0 上电复艟厩为0 l 键盘控制器自检成功 1输入缓冲寄存器满: 0 输入缓冲寄存器为空 i 输入缓冲寄存器为满 当键盘控制器读取数据后该位被设置为0 0 输出缓冲寄存器满: o 输出缓冲寄存器为空 1 输出缓冲寄存器为满 当系统读取数据( 6 0 h ) 厉该位被设置为0 输入缓冲寄存器是一个8 位的只写寄存器,端口地址为6 0 h 或6 4 h 。当c p u 对输入缓冲寄存器的6 4 h 端口地址执行写操作时,写入的字节是控制键徼控制器 的命令。这类控制命令共有9 条。当c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论