C8051F041单片机特点及应用
来源: kaiyun平台官网登录 内部集成CAN控制器,不需外加CAN控制器(如SJA1000),这对于需要良好抗干扰性的测控系统有很大好处;可将C8051F041构成为集通信与控制功能于一体的单片系统,大大简化硬件设计,进而提高系统抗干扰能力。MCU不能直接访问信息RAM,必须通过IF寄存器,然后由IF寄存器与信息RAM交换数据。信息RAM共可存32帧信息,IF寄存器分为IF1和IF2两组,可分别定义为接收、发送功能,IF的CommandRequest寄存器定义访问32帧信息的哪一帧,CommandMask定义将一帧信息的哪一部分传到信息RAM。
中断寄存器IR为0x0000,表示没有断发生;为0x0001~0x0020,表示32帧信息的哪一帧引脚中断;为0x8000,表示状态改变(发送完成、接收完成、错误状态)引起中断。
2 CAN通信
通信的初始化过程与其它CAN控制器类似,不再详述。限于篇幅仅给出如图5所示的发送、信息RAM与IF通信和接中断子程序的框图。
3 CAN总线在智能功率柜中的应用
CAN通信系统由4个节点组成:1个调节器和3个功率柜。功率柜由C8051F041完成通信功能,调节器由集成了CAN协议的网卡HT-1302B负责通信。本系统由带屏蔽层的双绞线构成通信介质,最大通信距离不超过150m,通信速率可达250Kbps。调节器发送单柜应发电流值、触发角、同步信号周期、脉冲宽度给各功率柜,功率柜将各柜输出电流值、导通监视结果、柜内各点温度反馈回调节器。
4 应用中的问题
①在默认中断顺序中,CAN的中断号高于INT1(优先级低),应将CAN设为高中断优先级使其高于INT1,这样才能有正确的触发角度。
②在线修改参数时,读、写指针的数据类型应分为code、xdata,擦除、写入Flash后应分别立即禁止擦除、禁止写入,参数写入后应将参数再读入RAM中。
③总线定时寄存器的设置极大影响了CAN性能的发挥。应用中,我们采用16MHz晶振,BTR为1C01H,通信速率为250Kbps,两点间最大通信距离为150m,通信效果很好。
④新推出的C8051F06X除具有C8051F04X的功能外,新增了16位ADC。这为需高精度测量的应用场合提供了方便。