聯合收獲機凹板間隙調節(jié)系統(tǒng)研究
2 CAN通信模塊
本文引用地址:http://www.biyoush.com/article/271644.htm 本系統(tǒng)選用TJA1050芯片作為CAN收發(fā)器設計的智能節(jié)點,該芯片提供了CAN控制器與物理總線之間的接口以及對CAN總線的差動發(fā)送和接收功能,跟光耦TLP113共用,實現信號的隔離。TJA1050 符合ISO 11898 標準,因此它可以和聯合收獲機上其他遵從ISO 11898 標準的收發(fā)器產品協(xié)同操作[4-5],其硬件設計如圖4。
3 軟件設計
為了達到程序的簡單明了、易于閱讀、調試方便、采樣率高及可靠性好的目的,采用結構化的程序設計方法。本研究采用的是MAPLAB IDE V8.76作為控制系統(tǒng)的軟件作為開發(fā)環(huán)境,并采用Hitech公司開發(fā)的PICC編譯器進行編寫、調試和編譯程序。主要介紹CAN模塊以及PWM模塊的初始化程序,具體實現如下:
////////// CAN /////////////
/////Fosc=10MHz,
/////CAN Baud 250K,Tbit=4uS,BRP = 0x01
////TQ = [2*(1+BRP)]/Fosc=400ns
////Nominal Bit Rate = 10TQ,Sync_Seg=1TQ,Prog_Seg=3TQ,Phase_Seg1=3TQ,Phase_Seg2=3TQ
////SJW = 1TQ
voidCAN_Init(void)
{
TRISB &= 0xFB; ///設置CANTX/RB2輸出
TRISB |= 0x08; ///設置CANRX/RB3輸入
/////
ECANCON = 0; //模式0
CANCON = 0x80; //請求配置模式
while((CANSTAT & 0x80) == 0) //是否進入配置模式
{
NOP();
}
BRGCON1 = 0x01; //SJW = 1TQ,BRP = 0x01,TQ=(2*2)/Fosc波特率控制寄存器1
BRGCON2 = 0x92; //Prog_Seg = 3TQ,Phase_Seg1 = 3TQ 波特率控制寄存器2
BRGCON3 = 0x42; //Phase_Seg2 = 3TQ 波特率控制寄存器3
///設置發(fā)送郵箱0標識符號
TXB0CON = 0x03; //設置為最高優(yōu)先級TXPRI=11
TXB0SIDH = 0x80; //設置發(fā)送緩沖器0的標準標識符
TXB0SIDL = 0x40; //SID10:SID0=0x281 0x50 0x20 ;0x181 0x30 0x20
TXB0DLC = 0x08; //TXRTR = 0,設置數據長度為8個字節(jié)
///設置接收郵箱0的標識符和初始化數據
RXB0CON = 0x20;
////初始化接收濾波器0和接收屏蔽,
RXF0SIDH = 0x80;
RXF0SIDL = 0x40;
RXM0SIDH = 0xFF;
RXM0SIDL = 0x00;
RXF0EN = 1;
////
CIOCON = 0x20;
/////
CANCON = 0x00; /////請求進入正常操作模式
while((CANSTAT & 0xE0) != 0) ////是否進入正常模式
{
NOP();
}
//////
PIR5 = 0x00; ////清所有中斷標志
PIE5 = 0x01; ////使能接收緩沖器0的接收中斷
IPR5 = 0x01; ////設置優(yōu)先級
}
pwm相關文章:pwm是什么
評論