图3供电系统结构图
4 系统的硬件电路设计
4.1 主控制器模块的设计
本设计采用了STC89C52芯片为主控制器,该芯片的应用电路于其他51单片机完全一样。介于小车各部分功能均为模块实现,所以,将单片机最小系统布局好后,其余各I/O口用排针引出。STC单片机支持串口下载功能,所以省去了调试时不住地插拔片子的麻烦,也保证了片子的完好。单片机引脚分布图及最小系统图如图4如所示。
图4单片机最小系统
4.2 NRF24L01无线模块的设计
NRF24L01 是 NORDIC 公司最近生产的一款无线通信通信芯片,采用 FSK 调制,内部集成NORDI自己的 Enhanced Short Burst 协议。可以实现点对点或是 1 对 6 的无线通信。
无线通信速度可以达到 2M(bps)。NORDIC 公司提供通信模块的 GERBER 文件,可以直接加工生产。嵌入式工程师或是单片机爱好者只需要为单片机系统预留 5个GPIO,1个中断输入引脚,就可以很容易实现无线通信的功能,非常适合用来为 MCU 系统构建无线通信功能。
发射数据时,首先将nRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据;若自动应
答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TX FIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TX FIFO中数据保留以便在次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。
接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。
NRF24L01模块电路图如图5图6所示。
图5 NRF24L01结构图
图6 NRF24L01模块电路
NRF24L01的指令列表如表1所示。 表1 NRF24L01令列表
4.3 按键控制模块的设计
本设计中,采用独立按键对单片机核心芯片STC89C52RC进行输入控制。各按键分别一端接地,一端接单片机引脚。实现功能:六个键分别表示不按代表不控制车,按下代表控制。 4.4 晶振电路与复位电路设计 4.4.1 晶振电路
晶振电路为单片机AT89C51工作提供时钟信号,芯片中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振荡器一起构成自激振荡器。电路中的外接石英晶体及电容C5、C6接在放大器的反馈回路中构成并联振荡电路。由于外接电容C5、C6的容量大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,电容的容量大小范围为20pF~40pF;如果使用陶瓷谐振,则电容容量大小为30 pF~50 pF。本设计中使用石英晶体,电容的容值设定为30pF。
相关推荐: