我在应用9S12D64 MCU 与MC33991步进电机驱动器 和 MC33884开关采集做系统的时候遇到以下问题。
MCU与4片MC33991和4片MC33884组成汽车仪表与开关系统,之间通过SPI端口联接。
MCU设置为Master模式;
MC33991与MC33884设置为Slave模式。
系统时钟为48MHz,SPI时钟为2MHz。 reg如下:
SPI0CR1 = 0X54; // |SPIE|SPE|SPTIE|MSTR|CPOL|CPHA|SSOE|LSBFE|
// 0 1 0 1 0 1 0 0
SPI0CR2 = 2; // |*|*|*|MODFEN|BIDIROE|SPISWAI|SPC0|
// 0 0 1 0
SPI0BR = 0x51; // |*|SPPR2|SPPR1|SPPR0|*|SPR2|SPR1|SPR0|
// 1 0 1 0 0 1
系统读写SPI的8个Slave均在主程序循环中运行1次,并且关掉了中断;循环时间大约500 Ms
在实际操作过程中,如果连接P&E的USB MultiLink仿真器进行程序调试,则程序运行正常,对步进电机的操作均能实现,对开关采集也是正常的。
如果将P&E的USB MultiLink仿真器断开,系统独立运行时,电机的操作正常,开关采集数据错误。用液晶显示从SPI的接受BUFF的数据,与实际开关状态不一致。。。
此时测量系统,VCC=5.0V稳定,MC33991与MC33884的操作电源为12V稳定,外部信号为0~24V,MC33884的各个测量Pin都按照DataSheets进行了处理,信号电平稳定。 请问,哪出现了问题?从哪入手解决呢?
[此贴子已经被作者于2007-3-29 10:21:12编辑过]
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |