总结这周所学,主要是调试HID的东西,此项目主要现象就是:把程序下载进去,IC卡靠近天线,单片机就把卡内的ID号读出来了,然后发送到电脑上显示出来,鼠标定位到哪,ID号就发到哪。
将本周的主要收获总结为以下几点:
1. HID
刚开始接触时,自己并不清楚HID是什么,HID是Human Interface Device的缩写,也就是人机交互设备,HID协议是USB协议的一种。自己这周看了很多关于HID协议方面的资料,HID协议里有很多标识符,包括设备标识符、物理标识符等,具体的自己很多地方还是不太懂,以后有机会再充电、总结、更新。
HID读取模拟键盘,意思是HID读取如银行卡类的ID号,银行卡等卡内部带有线圈,和天线带有的线圈接触时,发生感应,电脑和单片机通信通过USB接口传输数据,把银行卡内的ID号读取出来,这个说法也可以说是叫做HID读取卡内的ID号,至于为什么叫HID读取模拟键盘,这是HID读取卡内ID号的方法,还需要把模拟键盘的相关知识加强下;
4. 程序中主函数要对USB进行初始化,初始化完后,还需要开启USB_main函数,USB_main函数需要将USB和电脑之间是如何通信、如何传输数据这一块好好看看;
2. PCD
PCD是一个模块,是读卡器模块;
3. 天线
这周看了很多PCD天线方面的资料,了解了PCD天线接收的信号的强弱和很多因素有关,和板子的材质、线圈的匝数、线圈的长度等都有关,天线和读卡器之间的耦合时好时差,和很多方面有关系,电容和电阻、电感、材质、线圈匝数,目前看来,天线和电容有关,在Company,见别人调天线时,都是换电容,当天线和读卡器耦合不是特别好时,换电容,也就是增大或者减小电容的阻值,让其耦合性变好。卡和天线接近时,在靠近天线的中间位置那里读卡ID号比较准确,在边缘位置效果不是太好,通过改变天线电路中的电阻的阻值来实现增大信号,将电阻阻值减小,实现信号增大,这样卡和天线边缘位置靠近时,也能很容易把ID卡号读出来。
4. 仿真
自己对仿真还是不是太熟,需要加强。本项目中,仿真时,在PCD.c中设置断点,然后运行,如果读取ID号成功,仿真时的现象是:箭头会往下走一下,下图是仿真时在pcd.c中设置的断点:
5. 需要总结和加强的方面
最近这段时间表较忙,需要将串口、并行、定时器、中断、SPI、IIC以及今天调试成功的温湿度等,有时间时,可以总结下,基本知识点,把仿真多加练习。仿真和代码是密切相关的,仿真时,要对代码逻辑清楚,这样才知道仿真时要仿真哪里,会出现什么现象。