系统硬件电路设计应该注意的地方如下:
①尽量让滤波电容靠近芯片,特别是10 nF的电容,这样对高频信号进行有效的滤波;
②尽量减少布线地的回路,所以要求接地的过孔尽量靠近元器件或者IC的接地端;
③2个电感的放置应该成90°的方向,这样主要减少2个电感之间的耦合;
④数字地和模拟地最好是在不同的地方,最好通过磁珠或电感进行连接;
⑤保证芯片中间的部分足够接地,可以在电路板上打9个孔,让芯片充分接地和散热;
⑥布线时尽量减少辅线的长度,特别是射频前端,让元器件保持紧凑、射频输出前端最好保持畅通的输出;
⑦在电路中最好加一些测试点,方便调节硬件电路;
⑧尽量避免在射频线路中通过数字信号。
2 读卡器的软件设计
设计好硬件平台之后,就需要设计系统的软件模块。在软件模块设计中STCllF32XE单片机和TRF7960之间的模拟通信是最关键的一步,因为只有打通了底层通信的关键环节,STCllF32XE才能进一步通过控制TRF7960实现读/写卡的基本操作。为了实现这一步,首先要弄清楚 TRF7960的读写时序。
起始条件是CLK为高,然后先发送8位地址,再发送数据。发送格式在时钟的下降沿进行发送,当CLK为高时,在A/D有1个下降沿,表示结束。根据该时序图可以写出STCllF32XE单片机从TRF7960读/写1个字节的C语言实现代码:
STCllF32XE单片机主要就是通过调用这两个最基本的函数来实现对TRF7960进行复杂的读/写控制的。采用模拟总线通信方式的最大好处就是用C语言写的代码很容易移植到不支持总线扩展的各种单片机上,增加了软件模块的可复用性和可移植性。
打通了底层通信的关键环节之后,就可以一步一步地编写调试各个软件模块。图3是读卡器多协议自适应功能软件模块流程。
3 结论
本文采用宏晶公司的高速、低价位单片机和TI公司的TRF7960多协议读卡芯片以及相应的外围电路设计出了非接触式的射频读卡器,设计按照 ISO/IEC