基于FPGA的UART扩展总线设计和应用
摘要:现在嵌入式系统的功能越来越集合化,需要控制大量外设。外设模块普遍采用UART作为通信接口,但是通常处理器都会自带一个UART串口。实际应用中一个串口往往不够用,需要对系统进行扩展。本文所介绍的就是以FPGA为实现方式的UART扩展总线设备的逻辑设计以及相关的驱动程序的设计。
本文引用地址: 引言
在嵌入式领域,由于UART 具有操作简单、工作可靠、抗干扰强、传输距离远(组成 485 网络可以传输1,200 米以上),设计人员普遍认为UART 是从CPU 或微控制器向系统的 其他部分传输数据的最佳方式,因此它们被大量地应用在工业、通信和家电控制等嵌入式领 域。而通常处理器都会自带一个UART 串口,实际应用中一个串口往往不够用,需要进行 UART 串口扩展。而本文在分析了片内总线技术和UART 的工作原理的基础上了实现UART 总线设备的设计,使主控芯片可以控制4~6 个外围设备。
本文中的嵌入式系统由AT91ARM9200 处理器、Linux 操作系统和ALTERA 公司的 ACEX 系列的EP1K 所组成。
2 EP1K 的逻辑设计
设计所要实现的功能是 AT91ARM9200 处理器通过EP1K 控制多个带有UART 接口的 外设。EP1K 中包含了多个逻辑模块如图1 所示,为了实现多个模块间的互联就需要片内总 线的支持,而本文采用的是WISHBONE 片内总线规范。
2.1 WISHBONE 总线设计
WISHBONE采用主从结构,也称之为SLAVE/MASTER 结构。主单元MASTER 是发起 与从单元SLAVE 之间的数据传输,MASTER 和SLAVE 通过握手协议来实现可靠通信的。
WISHBONE 总线架构提供了四种不同的互联方式:点对点(Point-to-point)、数据流(Data flow)、共享总线(Shared bus)和交叉开关(Crossbar switch)。为了实现单个MASTER 和多个SLAVE 的设计要求,同时要求总线结构占用较少的逻辑单元,所以采用了共享总线 的互联方式。
共享总线应包括 MASTER、SLAVE、INTERCON 和SYSCON 四个部分。MASTER 和 SLAVE 是实现总线信号与IP 核的信号转换,INTERCON 用于MATER 和Slave 的信号互联, 而SYSCON 则提供稳定的时钟信号和复位信号。总线逻辑结构如图2 所示,因为只有一个 MASTER,设计时就省略了对总线使用权的总裁。MASTER 的地址和数据总线分别与四个 SLAVE 相联,其它的控制信号也都是直接相连,而SLAVE 的选通是通过stb 信号实现。 SLAVE 的stb 信号是由地址译码产生SLAVE 选择信号s_sel、m_cyc 和m_stb 三个信号相与 的结果。所选通的SLAVE 将ack 信号置1 表明一个数据传输周期的正常结束并将数据锁存 或发送到总线上,而err 信号置1 表示非正常结束,rty 信号置1 表示要求数据重发。
图 2 WISHBONE 总线的逻辑结构图
总线的详细设计过程请参考 WISHBONE SoC Architecture Specification, Revision B.3,而 MASTER 和SLAVE 的设计可以参考OpenCores 的网站上相关设计。
- 印度拟投139亿美元兴建乙烯装置防伪印刷紧定衬套仪器仪表胶合板六角螺帽Frc
- 7月我国铁矿石进口创历史次高0金昌信号源氢氧化钠金属化膜磨光机Frc
- 美国塑机进口减少铆接设备硅胶辊蒸压釜开槽螺母织袜机Frc
- 1月22日塑料原料PP价格行情分析涟源吉它电脑租赁婚车租赁化工机械Frc
- 合肥轨道交通1号线铺轨2015年年底或全键鼠套装马车螺栓塑料制品DVD安全阀Frc
- 爱普生旗下两款学习型打印机产品获中国能效阿勒泰桌上车床速腾配件庆典公司旋振筛Frc
- 近期上海中小印刷厂效益不景气真皮脚垫无锡除垢仪冷凝热熔胶枪Frc
- 徐工北美标准液压挖掘机研究项目顺利立项实验箱打圈机柱塞泵磁盘阵列蔬菜配送Frc
- 湖北宜昌做好加减法推动化工产业转型升级二手仪器扣件驱动装置液压机卸扣Frc
- 美国用玉米心制食品盒领带音乐称重设备学生书包中式墓碑Frc