基于CPLD的电子存包系统的设计与实现
时间:08-31
来源:互联网
点击:
2.3 其它模块
磁卡数据缓存模块
的功能相当于一个缓存器,将磁卡数据接收模块接收到的数据暂存,等待主控模块的调用;开门信号延时模块为外围的电磁锁驱动电路提供大约1秒钟宽度的开门脉冲信号以保证电磁锁动作所需要的必要通电时间;报警模块用于提示用户刷卡成功与否。
由于磁卡数据缓存模块和开门信号延时模块占用了很大一部分的片内寄存器资源,在对这两部分的设计中改用了原理图输入方法。相对于使用VHDL语言进行描述,采用这种方法可以更精确地确定寄存器的数量,减少不必要的寄存器。实践证明,采用这种输入方法,综合后的芯片使用率降低了6%(16个LC),提高了芯片功能的可扩展性。
3 软件设计
本系统的软件编程工具采用C++ Builder6.0,实现了动态分配箱位号码和密码、写磁卡、轮循分机、校验密码并发送开箱信号、显示系统运行状态、生成系统运行日志等功能。
由于在系统运行过程中有多项任务需要同时进行,设计采用了多线程技术。在后台,主机使用查询的方式不断地轮循各个分机,当进行写磁卡操作时,程序另外开辟一个线程对磁卡读写器进行操作。
串行通信控件采用TurboPower公司的Async Professional控件集中的TapdComport控件,该控件功能完善,是目前稳定性和可靠性最高的串行通信控件。
在设计时要特别注意的是一定要保证主机软件与分机硬件之间通信协议的一致性,要充分考虑到分机CPLD中状态机各状态转换的各种可能,避免出现死锁情况。
磁卡数据缓存模块
的功能相当于一个缓存器,将磁卡数据接收模块接收到的数据暂存,等待主控模块的调用;开门信号延时模块为外围的电磁锁驱动电路提供大约1秒钟宽度的开门脉冲信号以保证电磁锁动作所需要的必要通电时间;报警模块用于提示用户刷卡成功与否。
由于磁卡数据缓存模块和开门信号延时模块占用了很大一部分的片内寄存器资源,在对这两部分的设计中改用了原理图输入方法。相对于使用VHDL语言进行描述,采用这种方法可以更精确地确定寄存器的数量,减少不必要的寄存器。实践证明,采用这种输入方法,综合后的芯片使用率降低了6%(16个LC),提高了芯片功能的可扩展性。
3 软件设计
本系统的软件编程工具采用C++ Builder6.0,实现了动态分配箱位号码和密码、写磁卡、轮循分机、校验密码并发送开箱信号、显示系统运行状态、生成系统运行日志等功能。
由于在系统运行过程中有多项任务需要同时进行,设计采用了多线程技术。在后台,主机使用查询的方式不断地轮循各个分机,当进行写磁卡操作时,程序另外开辟一个线程对磁卡读写器进行操作。
串行通信控件采用TurboPower公司的Async Professional控件集中的TapdComport控件,该控件功能完善,是目前稳定性和可靠性最高的串行通信控件。
在设计时要特别注意的是一定要保证主机软件与分机硬件之间通信协议的一致性,要充分考虑到分机CPLD中状态机各状态转换的各种可能,避免出现死锁情况。
电子 CPLD 红外 电路 Altera 电源模块 变压器 电容 收发器 VHDL 相关文章:
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 周立功:如何兼顾学习ARM与FPGA(05-23)
- 初学者如何学习FPGA(08-06)
- 为何、如何学习FPGA(05-23)
- 学习FPGA绝佳网站推荐!!!(05-23)
- 我的FPGA学习历程(05-23)