多串口单一中断源的芯片设计

[10-10 20:38:44]   来源:http://www.88dzw.com  单片机学习   阅读:8245

文章摘要:测试结果我们还可以看到:1)芯片各收发器模块可以同时工作 2)发送与接收可以同时进行 3)接收缓存正常,并且在接收数据不足 8字节超时后时会自动停止缓存,然后向芯片中断管理模块提出中断请求 4)中断信号能够正常输出 5)各收发器的中断请求无遗漏 6)收发器模块的数据被读取完毕之后,中断标志自动清除,芯片不再发出中断请求信号。5 结 论本文设计了一种实现高效多串口单一中断源的芯片。本设计的功能特点:在中断管理方面,利用单一的中断源来管理多个扩展串口,并保证多个串口中断的无漏检测与服务;在数据传送方面,实现串行数据的接收和发送,并且按照数据传送是否有奇偶校验位分为两种工作模式,在接收时具有数据缓存

多串口单一中断源的芯片设计,标签:单片机开发,单片机原理,http://www.88dzw.com


测试结果我们还可以看到:1)芯片各收发器模块可以同时工作 2)发送与接收可以同时进行 3)接收缓存正常,并且在接收数据不足 8字节超时后时会自动停止缓存,然后向芯片中断管理模块提出中断请求 4)中断信号能够正常输出 5)各收发器的中断请求无遗漏 6)收发器模块的数据被读取完毕之后,中断标志自动清除,芯片不再发出中断请求信号。

5 结 论
本文设计了一种实现高效多串口单一中断源的芯片。本设计的功能特点:在中断管理方面,利用单一的中断源来管理多个扩展串口,并保证多个串口中断的无漏检测与服务;在数据传送方面,实现串行数据的接收和发送,并且按照数据传送是否有奇偶校验位分为两种工作模式,在接收时具有数据缓存的功能。并且上述各个功能模块在单一的可编程逻辑器件芯片就能实现。
上述整个过程设计均采用 VHDL编程实现,比以往电路手工设计的方法更加灵活,具有比较大的发展空间。文中分别利用 ModelSim和 ISE对程序进行仿真和综合布线,在仿真平台上验证了设计的可行性,具有较好的应用前景。
本文作者创新点:多串口单一中断源的芯片,利用单一的中断源来管理多个扩展串口,各个功能模块在单一的可编程逻辑器件芯片就能实现。

参考文献:
[1]陈力平,徐冠捷.基于单片机的串口扩展器.微计算机信息,2006, 03(2):13-15
[2]张毅刚.新编 Mcs-51单片机应用设计.哈尔滨:哈尔滨工业大学出版社,2003.65-73
[3]李玉丽,徐家品,张俊霞.利用 PSoC实现时钟.微计算机信息,2009, 11(25):136-137
[4]刘春阳.基于 FPGA的串行通信实现与 CRC校验:硕士学位论文.北京:北京化工大学,2006
[5]候伯亨,顾新.VHDL硬件描述语言与数字逻辑.第二版.陕西:西安电子科技大学出版社,1999.228-236
[6]孙航.xilinix可编程逻辑器件的高级应用与设计技巧.北京:电子工业出版社,2004.46-70
[7]吴穹等.利用 TL16C554实现多路串口通信.航空电子技术,2005.36(3):33-35
[8]刘小芳,曾黄麟等.单片机的多串口扩展技术的设计.计算机测量与控制,2004,12(11): 1088-1090
[9]朱明程,董尔令.FPGA技术的最新发展综述.电工教学,1996,18(4):56-58

www.88dzw.com本设计芯片与单片机的硬件连接比较简单,其中,并行数据端口 d_inout跟单片机 p0口相连,接收单片机发出的低 8位地址, ale与单片机地址锁存允许信号引脚相连,odd_check为奇偶校验结果输出引脚,连接由使用者决定。3 模块设计
3.1 顶层模块顶层模块在各模块设计之前作为统筹规划整个程序,是设计过程中再继续完善和修正的重要部分。在顶层模块里根据不同的地址输入,选择标志或者数据的传送。为了更好地将两次操作区分开来使编程更加容易,论文中还设计了一个标志寄存器rd_check_counter,在不同的操作来时,它的值不同。
3.2中断控制模块
中断控制模块要完成置标志位,定时输出中断信号和向单片机传送标志位信息等功能。模块接收端有中断请求到来,中断控制模块即将相应收发器的标志位置 1,在数据被读取之后,又立刻将标志位清 0 [3]。
3.3收发器模块收发器模块结构图如图 2b。在接收方面,收发器模块实现接收数据,并将数据串转并,储存到寄存器里等待单片机的读取。在发送方面,收发器将单片机数据总线送过来的并行数据串行输出[4]。
数据接收时数据经过格式转换后便被放入 8字节的缓存里面,该缓存在每次数据存入后就启动计数器,当过一段时间还没有新的数据存入时,收发器即可以向中断控制模块提出中断请求并且等待单片机对数据的读取。发送数据时,收发器接收到单片机送来的数据并将其存储起来,在串行数据发送设备准备好的情况(txrdy为 1)下再进行格式转换并发送,无论接收还是发送串行数据都是通过外部时钟进行计数控制的[5]。
3.4地址寄存器模块 .

地址锁存模块在 ale信号(单片机地址锁存允许信号)到来时将地址低 8位锁存起来,并送给中断控制和上层模块使用[6]。
3.5芯片端口
上述几个模块合成后的芯片外观及其端口特征描述如下图 3所示: 1、set_mode(0,1):两位信号输入引脚,用于模式的选择,模式 1和模式 2分别用 01和 10来选择。2、ale:地址锁存允许信号输入引脚,与单片机的 ale相连,在 ale下降沿的时候将地址低 8位锁存到地址锁存模块。3、clk:时钟信号输入引脚,时钟的频率定为串行数据传输频率的 4倍,如串行通信的波特率是

上一页  [1] [2] [3]  下一页


Tag:单片机学习单片机开发,单片机原理维修教程知识 - 单片机学习

《多串口单一中断源的芯片设计》相关文章