一种实现cpu对多种外设控制的方法

文档序号:6466812阅读:314来源:国知局
专利名称:一种实现cpu对多种外设控制的方法
技术领域
本发明涉及一种计算机应用技术,具体地说是一种实现CPU对多种外设控制
的方法。
背景技术
随着半导体技术的飞速发展,嵌入式产品已经广泛应用于军事、消费电子、
通信、工业控制等各个领域,而基于ARM处理器的嵌入式产品更是种类繁多,虽 然现在的嵌入式处理器片上资源丰富,但是由于产品要求有完善的功能,而实现 这些功能仅仅依靠CPU的片上资源是无法满足要求的,为了实现产品的多功能并 且电路板的体积尽量小,这就需要我们在设计电路时采用合适的方法。由于此嵌 入式终端系统外设比较多,CPU的片上资源不足,所以在对一些外设的控制上就通 过外加一片CPLD芯片来解决了此问题。在通常情况下,对VFD和微型打印机的控 制通过CPU的GPIO 口来控制就可以实现,对网络芯片和串口芯片等的片选控制通 常可以通过用CPU地址总线外加译码器来完成,增加总线的驱动能力也可以通过 外加驱动芯片来实现,但是在外设比较多的情况下CPU的GPIO 口数量无法满足需 求,尤其是对微型打印机的控制需要占用很多GPIO资源,而外加各种芯片又增加 了电路板上芯片的数量,无法将电路板设计的小巧美观,CPLD芯片的资源丰富, 通过选用不通的型号可以自由选择容量,用一片CPLD芯片就可以解决上述的种种 弊端。

发明内容
本发明的目的是提供一种在嵌入式arm-liriux终端系统中用CPLD芯片来节省 CPU的资源并实现CPU对多种外设控制的方法。具体控制步骤如下
1) CPLD芯片根据CPU发出的nRSTOUT信号和CPU发出的CPLD芯片片选信 号和6根地址线译码产生的译码信号,产生打印机所需要的时序控制信号并输出 给打印机驱动芯片,打印机驱动程序控制CPU发出所要打印的数据,CPLD芯片从 CPU的数据总线上接收所要打印的数据,并按照打印机所需要的时序控制逻辑将所 要打印的数据发送出去;
2) CPLD芯片通过对地址线进行译码产生的译码信号并配合era发出的控制 信号产生串口芯片16C550芯片的片选信号,为了实现CPU的数据总线的复用和增
号和读信号为加总线驱动能力,在CPLD芯片中做一个BUFFER,在CPU发出的CPLD 芯片片选信l的控制下,将数据从CPU的数据总线读入到CPLD的BUFFER中,然 后将BUFFER中的数据送到16C550芯片的数据线上,在CPU发出的CPLD芯片片选 信号和读信号为0的控制下,将数据从16C550芯片数据线发送到CPLD的BUFFER 中,然后将BUFFER中数据送到CPU的数据总线;
3) CPLD芯片通过对地址线进行译码产生的译码信号并配合CPU发出的CPLD 芯片片选信号,产生CS8900芯片的片选信号;
4) CPLD芯片产生VFD控制器所需要的时钟信号,时序控制信号,数据串行 输出信号,时钟信号输入经过分频后作为VFD所需的时钟信号,在时钟信号输入 、分频后的VFD时钟信号和CPU发出的nRSTOUT信号的作用下产生VFD所需要的 不规则的控制信号CS,在产生的VFD时钟信号,VFD控制信号CS和CPU发出的CPLD 芯片片选信号和写信号以及译码器产生的译码信号的共同控制下,将从CPU送来 的用于VFD显示的数据按照时序串行移出到VFD控制器,并在VFD客显屏上显示 出来;
5) 为了防止键盘在有两个键同时按下时无法检测按键的问题,将键盘的行 线信号通过CPLD芯片缓冲后送出,解决了两个键同时按下时无法检测按键的问题。
本发明的有益效果是,通过在此系统中增加一片CPLD芯片,通过对CPLD芯 片编程解决了 CPU资源不足的问题,同时减少了主板上的芯片的数量,节省了主 板的空间,并节约了成本,可以说起到了事半功倍的效果。


附图1为本发明的系统结构示意附图2为CPLD的内部结构示意图。
具体实施例方式
参照说明书附图对本发明的方法作以下详细地说明。
如附图1所示,本发明的目的是按以下方式实现的
1. CPLD芯片根据CPU的控制信号(指CPU发出的nRSTOUT信号和CPU发出 的CPLD芯片片选信号)和6根地址线译码产生的译码信号来产生打印机所需要的 时序控制信号并输出给打印机驱动芯片,打印机驱动程序控制CPU发出所要打印 的数据,CPLD芯片从CPU的数据总线上接收所要打印的数据,并按照打印机所需 要的时序控制逻辑将所要打印的数据发送出去。
2. CPLD芯片通过对地址线进行译码产生的译码信号并配合CPU发出的控制 信号(指CPLD芯片片选信号)产芯片生串口芯片16C550芯片的片选信号,为了 实现CPU的数据总线的复用和增加总线驱动能力,在CPLD芯片中做一个BUFFER, 在CPU控制信号(指CPU发出的CPLD芯片片选信号和读信号为1)的控制下,将 数据从CPU的数据总线读入到CPLD芯片的BUFFER中,然后将BUFFER中的数据送 到16C550芯片的数据线上,在CPU控制信号(指CPU发出的CPLD芯片片选信号 和读信号为0)的控制下,将数据从16C550芯片数据线发送到CPLD芯片的BUFFER 中,然后将BUFFER中数据送到CPU的数据总线。
3. CPLD芯片通过对地址线进行译码产生的译码信号并配合CPU发出的控制 信号(指CPU发出的CPLD芯片片选信号)来产生CS8900芯片的片选信号。
4. CPLD芯片负责产生VFD控制器所需要的时钟信号,时序控制信号,数据 串行输出信号,如图所显示时钟信号输入经过分频后作为VFD所需的时钟信号, 在时钟信号输入、分频后的VFD时钟信号和CPU发出的控制信号(指CPU的nRSTOUT 信号)的作用下产生VFD所需要的不规则的控制信号CS,在产生的VFD时钟信号, VFD控制信号CS和CPU发出的控制信号(指CPU发出的CPLD芯片片选信号和写信 号)以及译码器产生的译码信号的共同控制下,将从CPU送来的用于VFD显示的 数据按照时序串行移出到VFD控制器,并在VFD屏上显示出来。
5. 为了防止键盘在有两个键同时按下时无法检测按键的问题,将键盘的行线 信号通过CPLD芯片缓冲后送出,解决了两个键同时按下时无法检测按键的问题。
权利要求
1.一种实现CPU对多种外设控制的方法,其特征在于控制步骤如下1)CPLD芯片根据CPU发出的nRSTOUT信号和CPU发出的CPLD芯片片选信号和6根地址线译码产生的译码信号,产生打印机所需要的时序控制信号并输出给打印机驱动芯片,打印机驱动程序控制CPU发出所要打印的数据,CPLD芯片从CPU的数据总线上接收所要打印的数据,并按照打印机所需要的时序控制逻辑将所要打印的数据发送出去;2)CPLD芯片通过对地址线进行译码产生的译码信号并配合CPU发出的控制信号产生串口芯片16C550芯片的片选信号,为了实现CPU的数据总线的复用和增加总线驱动能力,在CPLD芯片中做一个BUFFER,在CPU发出的CPLD芯片片选信号和读信号为1的控制下,将数据从CPU的数据总线读入到CPLD芯片的BUFFER中,然后将BUFFER中的数据送到16C550芯片的数据线上,在CPU发出的CPLD芯片片选信号和读信号为0的控制下,将数据从16C550芯片数据线发送到CPLD芯片的BUFFER中,然后将BUFFER中数据送到CPU的数据总线;3)CPLD芯片通过对地址线进行译码产生的译码信号并配合CPU发出的CPLD片选信号,产生CS8900芯片的片选信号;4)CPLD芯片产生VFD控制器所需要的时钟信号,时序控制信号,数据串行输出信号,时钟信号输入经过分频后作为VFD所需的时钟信号,在时钟信号输入、分频后的VFD时钟信号和CPU发出的nRSTOUT信号的作用下产生VFD所需要的不规则的控制信号CS,在产生的VFD时钟信号,VFD控制信号CS和CPU发出的CPLD芯片片选信号和写信号以及译码器产生的译码信号的共同控制下,将从CPU送来的用于VFD显示的数据按照时序串行移出到VFD控制器,并在VFD客显屏上显示出来;5)为了防止键盘在有两个键同时按下时无法检测按键的问题,将键盘的行线信号通过CPLD芯片缓冲后送出,解决了两个键同时按下时无法检测按键的问题。
全文摘要
本发明提供一种实现CPU对多种外设控制的方法,该方法是在嵌入式arm-linux终端系统中用CPLD芯片来节省CPU的资源并实现CPU对多种外设控制的方法。通过在此系统中增加一片CPLD芯片,通过对CPLD芯片编程解决了CPU资源不足的问题,同时减少了主板上的芯片的数量,节省了主板的空间,并节约了成本,可以说起到了事半功倍的效果。
文档编号G06F13/38GK101373423SQ200810158148
公开日2009年2月25日 申请日期2008年10月24日 优先权日2008年10月24日
发明者强 刘, 伟 李, 金长新 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1