音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

淺談Small RTOS51 下CAN總線數(shù)據(jù)收發(fā)實(shí)現(xiàn)

出處:王功翠 張秀娟 賈世勝 發(fā)布于:2011-09-02 11:19:28

  1 CAN總線簡(jiǎn)介

  現(xiàn)場(chǎng)總線(Fieldbus)是近年來(lái)迅速發(fā)展起來(lái)的一種工業(yè)數(shù)據(jù)總線,它主要解決工業(yè)現(xiàn)場(chǎng)的智能化儀器儀表、控制器、執(zhí)行機(jī)構(gòu)等現(xiàn)場(chǎng)設(shè)備間的數(shù)字通信以及這些現(xiàn)場(chǎng)控制設(shè)備和控制系統(tǒng)之間的信息傳遞問(wèn)題。由于現(xiàn)場(chǎng)總線簡(jiǎn)單、可靠、經(jīng)濟(jì)實(shí)用等一系列突出的優(yōu)點(diǎn),因而受到了許多標(biāo)準(zhǔn)團(tuán)體和計(jì)算機(jī)廠商的高度重視?,F(xiàn)場(chǎng)總線(Fieldbus)是20世紀(jì)80年代末、90年代初國(guó)際上發(fā)展形成的,用于  現(xiàn)場(chǎng)總線技術(shù)

  過(guò)程自動(dòng)化、制造自動(dòng)化、樓宇自動(dòng)化等領(lǐng)域的現(xiàn)場(chǎng)智能設(shè)備互連通訊網(wǎng)絡(luò)。它作為工廠數(shù)字通信網(wǎng)絡(luò)的基礎(chǔ),溝通了生產(chǎn)過(guò)程現(xiàn)場(chǎng)及控制設(shè)備之間及其與更高控制管理層次之間的聯(lián)系。它不僅是一個(gè)基層網(wǎng)絡(luò),而且還是一種開(kāi)放式、新型全分布控制系統(tǒng)。這項(xiàng)以智能傳感、控制、計(jì)算機(jī)、數(shù)字通訊等技術(shù)為主要內(nèi)容的綜合技術(shù),已經(jīng)受到世界范圍的關(guān)注,成為自動(dòng)化技術(shù)發(fā)展的熱點(diǎn),并將導(dǎo)致自動(dòng)化系統(tǒng)結(jié)構(gòu)與設(shè)備的深刻變革。國(guó)際上許多實(shí)力、有影響的公司都先后在不同程度上進(jìn)行了現(xiàn)場(chǎng)總線技術(shù)與產(chǎn)品的開(kāi)發(fā)。德國(guó)Bosch公司的CAN(1Mbit/s)是國(guó)際標(biāo)準(zhǔn)之一,也是Controller Area Network 的應(yīng)用標(biāo)準(zhǔn)。它屬于現(xiàn)場(chǎng)總線范疇,是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。由于其高性能、高可靠性、及獨(dú)特設(shè)計(jì),CAN總線已成為目前國(guó)外普及和實(shí)時(shí)性的現(xiàn)場(chǎng)總線。CAN總線在可靠性和實(shí)時(shí)性方面遠(yuǎn)遠(yuǎn)優(yōu)于RS-485等工業(yè)現(xiàn)線CAN總線主要有下列特征:

  1. 數(shù)據(jù)信號(hào)采用差分電壓傳輸,兩條信號(hào)線"CAN_H"和" CAN_L".

  2. 傳輸介質(zhì)可用雙絞線、同軸電纜或光纖,具有較強(qiáng)的抗干擾能力。直接通信距離可達(dá)10km(速率小于5kbit/s),通信速率可達(dá)1Mbit/s(此時(shí)距離長(zhǎng)為40m)。

  3. 節(jié)點(diǎn)不分主從,節(jié)點(diǎn)任意時(shí)刻可向其他節(jié)點(diǎn)發(fā)送信息,依據(jù)優(yōu)先權(quán)進(jìn)行總線訪問(wèn),滿足不同的實(shí)時(shí)要求。

  4. 采用非破壞性基于優(yōu)先權(quán)總線仲裁技術(shù)。

  5. 采用短幀結(jié)構(gòu),每幀為8bit,保證了數(shù)據(jù)出錯(cuò)率低。

  6. 可以點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)及全局廣播方式傳送接收數(shù)據(jù)。

  7. 發(fā)送期間若丟失仲裁或由于出錯(cuò)而遭破壞的幀可自動(dòng)重發(fā)送。

  2  Small RTOS51簡(jiǎn)介

  Small RTOS51是一個(gè)用于8051系列單片機(jī)的多任務(wù)實(shí)時(shí)操作系統(tǒng)。8051系列單片機(jī)一般只有很少的ROM和RAM資源,如P89C51只有4KB Flash和128字節(jié)RAM.單片微型計(jì)算機(jī)簡(jiǎn)稱(chēng)為單片機(jī),又稱(chēng)為微型控制器,是微型計(jì)算機(jī)的一個(gè)重要分支。單片機(jī)是70年代中期發(fā)展起來(lái)的一種大規(guī)模集成電路芯片,是CPU、RAM、ROM、I/O接口和中斷系統(tǒng)于同一硅片的器件。80年代以來(lái),單片機(jī)發(fā)展迅速,各類(lèi)新產(chǎn)品不斷涌現(xiàn),出現(xiàn)了許多高性能新型機(jī)種,現(xiàn)已逐漸成為工廠自動(dòng)化和各控制領(lǐng)域的支柱產(chǎn)業(yè)之一。一般的實(shí)時(shí)操作系統(tǒng)如RTX Tiny 雖然小,但是任務(wù)沒(méi)有優(yōu)先級(jí)和中斷管理,也無(wú)源代碼,而uc/os-II規(guī)模太大,需要大量外部RAM.基于此,Small RTOS51是專(zhuān)為51 單片機(jī)編寫(xiě)嵌入式操作系統(tǒng),它使用了RTX51 Tiny 的堆棧管理機(jī)制,并像uc/os-II一樣是搶占式的。

  3 一個(gè)典型的CAN節(jié)點(diǎn)

  3.1.CAN總線接口的結(jié)構(gòu)

  一個(gè)CAN總線接口有3 部分組成,如圖(a)所示,它們分別對(duì)應(yīng)于CAN總線的物理層、數(shù)據(jù)鏈路層和應(yīng)用層。

  上層為微控制器,主要負(fù)責(zé)上層應(yīng)用以及系統(tǒng)控制,包括CAN協(xié)議的應(yīng)用層協(xié)議的實(shí)現(xiàn),協(xié)調(diào)各系統(tǒng)設(shè)備的工作。(本設(shè)計(jì)采用的MCU是8051)

  中間層為CAN控制器,CAN控制器負(fù)責(zé)處理數(shù)據(jù)幀,完成數(shù)據(jù)的打包、解包,錯(cuò)誤界定,并提供報(bào)文緩沖和傳輸濾波。(本設(shè)計(jì)采用的CAN總線控制器是Philips公司生產(chǎn)SJA1000)

  層為CAN收發(fā)器,主要是接口電平的轉(zhuǎn)換,接口電器特性的處理。(本設(shè)計(jì)采用82C250)

 ?。╝)CAN接口結(jié)構(gòu)

  3.2.節(jié)點(diǎn)電路設(shè)計(jì)

 ?。?)SJA1000與單片機(jī)接口電路

  (b)SJA1000與單片機(jī)接口電路

  SJA1000的AD0-AD7與單片機(jī)的數(shù)據(jù)總線相連,地址A17作為SJA1000的片選使能端,由ALE、WR、RD控制SJA1000 數(shù)據(jù)的發(fā)送和接收。注意SJA1000復(fù)位端的連接,單片機(jī)是高電平復(fù)位,而SJA1000是低電平復(fù)位,因此復(fù)位信號(hào)要通過(guò)一個(gè)反相器與SJA1000復(fù)位端相連。另外SJA1000的11腳MODE接高電平,選擇Intel二分頻模式 .SJA1000的16腳時(shí)中斷信號(hào)輸出,在中斷允許情況下,有中斷發(fā)生時(shí),16腳出現(xiàn)有高電平到低電平的跳變。

  SJA1000的ODE引腳可選擇接口模式:

  ◆Intel模式  MODE高

  ◆M0torola模式  MODE低

 ?。?)節(jié)點(diǎn)前端物理接口電路的設(shè)計(jì)

 ?。╟)節(jié)點(diǎn)前端物理接口電路的設(shè)計(jì)

  使用SJA1000 CAN總線控制器可完成CAN總線通信任務(wù),但它的驅(qū)動(dòng)能力不夠,因此外接82C250總線驅(qū)動(dòng)芯片。CAN是控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)的簡(jiǎn)稱(chēng),是由研發(fā)和生產(chǎn)汽車(chē)電子產(chǎn)品著稱(chēng)的德國(guó)BOSCH公司開(kāi)發(fā)了的,并終成為國(guó)際標(biāo)準(zhǔn)(ISO118?8)。是國(guó)際上應(yīng)用廣泛的現(xiàn)場(chǎng)總線之一。 在北美和西歐,CAN總線協(xié)議已經(jīng)成為汽車(chē)計(jì)算機(jī)控制系統(tǒng)和嵌入式工業(yè)控制局域網(wǎng)的標(biāo)準(zhǔn)總線,并且擁有以CAN為底層協(xié)議專(zhuān)為大型貨車(chē)和重工機(jī)械車(chē)輛設(shè)計(jì)的J1939協(xié)議。近年來(lái),其所具有的高可靠性和良好的錯(cuò)誤檢測(cè)能力受到重視,被廣泛應(yīng)用于汽車(chē)計(jì)算機(jī)控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強(qiáng)和振動(dòng)大的工業(yè)環(huán)境82C250是CAN控制器和物理總線間的接口。之所以選擇82C250芯片是因?yàn)槠渚哂懈咚傩裕蛇_(dá)1Mbit/s),具有抗瞬間干擾保護(hù)總線的能力。具有降低射頻干擾的斜率控制。此外,它可以與110 個(gè)節(jié)點(diǎn)相連,防止電池與地之間發(fā)生短路,當(dāng)某一個(gè)節(jié)點(diǎn)掉電時(shí),不會(huì)影響總線。

  (3)設(shè)計(jì)電路注意的問(wèn)題

  ◆SJA1000通過(guò)光耦與82C250的連接是光電隔離的接法。這樣可以防止線路間的串?dāng)_。在總線兩端要接2 個(gè)120歐姆的總線阻抗匹配電阻。忽略掉它們會(huì)降低總線的抗干擾能力,甚至導(dǎo)致無(wú)法通信。

  ◆SJA1000的TX1腳懸空,RX1引腳的電位必須維持在0.5vcc以上,否則將不能行成CAN協(xié)議所要求的電平邏輯。

  ◆光耦6N137的輸入端2,3腳的信號(hào)輸入極性要與光耦的輸出極性相同,如果電路設(shè)計(jì)時(shí)極性相反,也可以通過(guò)軟件編程改變SJA1000的數(shù)據(jù)輸出極性,從而使單片機(jī)的輸出數(shù)據(jù)與82C250中數(shù)據(jù)的極性一致。

  4 在Small RTOS 下CAN節(jié)點(diǎn)的數(shù)據(jù)接收與發(fā)送實(shí)例

  下面將通過(guò)一個(gè)簡(jiǎn)單的實(shí)例(需要配置Small RTOS51操作系統(tǒng))來(lái)介紹在Small RTOS 下CAN節(jié)點(diǎn)的數(shù)據(jù)接收與發(fā)送過(guò)程。實(shí)例使用兩個(gè)CAN節(jié)點(diǎn)組成CAN網(wǎng)絡(luò),實(shí)現(xiàn)的功能是,每隔一定的定時(shí)周期發(fā)送一幀數(shù)據(jù),同時(shí)接收CAN數(shù)據(jù),并將接收的CAN數(shù)據(jù)發(fā)送到CAN總線上。LED將顯示收到的數(shù)據(jù)幀的頭兩個(gè)字節(jié)。

 ?。?)實(shí)例部分代碼實(shí)現(xiàn)

  void main(void)

  {

  CpuInit(); //微控制器初始化

  UserTickTimer(void);//系統(tǒng)時(shí)鐘節(jié)拍的初始化

  OSStart();//啟動(dòng)small rtos操作系統(tǒng)

  SendData();//發(fā)送數(shù)據(jù)任務(wù)

  { unsigned char data status;

  unsigned char i;

  unsigned char xdata *p =&CAN1_SJA_BaseAdr+REG_CAN_SR  ;

  unsigned char xdata *p1;

  status=SJAInit();//初始化can控制器

  if(status!=0){

  OSSendSignal(2); //喚醒錯(cuò)誤處理任務(wù)

  }

  P_SJAFrameStructApp  =(P_SJAFrameStruct )&BufCan2[0];

  IT0 =0;//電平觸發(fā)模式

  EX0=1;//使能CAN中斷

  BufCan2[0]=0x88;

  P_SJAFrameStructApp->FrameID=0x11111111;

  while(1)

  {

  OSWait(K_TMO,2);//系統(tǒng)等待函數(shù),每?jī)蓚€(gè)時(shí)鐘周期發(fā)送數(shù)據(jù)

  P_SJAFrameStructApp->FrameID++;

  p1=(unsigned char xdata *)&P_SJAFrameStructApp->FrameID;

  for(i=0;i<4;i++)  //發(fā)送測(cè)試數(shù)據(jù)

  BufCan2[1+i] =*(p1+i);// 0x55;

  for(i=0;i<4;i++)

  BufCan2[5+i] =*(p1+i);// 0x55;

  for(i=0;i<4;i++)

  BufCan2[9+i] =*(p1+i);// 0x55;

  status=SJASendData(BufCan2,0x10);//向CAN總線發(fā)送數(shù)據(jù),所發(fā)送數(shù)據(jù)的首地址是BufCan2

  if(status!=0)  //表示發(fā)送數(shù)據(jù)錯(cuò)誤

  OSSendSignal(2);喚醒錯(cuò)誤處理任務(wù)

  }

  }

  void DisPlay(void)

  {

  while(1){

  OSWait(K_TMO,1);

  ShowLED(); // led顯示處理

  }

  }

  Error();// 錯(cuò)誤信息處理任務(wù)

  }

  (2) 測(cè)試結(jié)果:

  如果運(yùn)行正確:數(shù)碼管會(huì)顯示依次加1的數(shù)值,否則:數(shù)碼管會(huì)顯示E-xx的錯(cuò)誤代碼

  5 結(jié)束語(yǔ)

  CAN總線的產(chǎn)生與發(fā)展控制器局部網(wǎng)(CAN-CONTROLLER AREA NETWORK)是BOSCH公司為現(xiàn)代汽車(chē)應(yīng)用推出的一種多主機(jī)局部網(wǎng),由于其高性能、高可靠性、實(shí)時(shí)性等優(yōu)點(diǎn)現(xiàn)已廣泛應(yīng)用于工業(yè)自動(dòng)化、多種控制設(shè)備、交通工具、醫(yī)療儀器以及建筑、環(huán)境控制等眾多部門(mén)??刂破骶植烤W(wǎng)將在我國(guó)迅速普及推廣。

  隨著計(jì)算機(jī)硬件、軟件技術(shù)及集成電路技術(shù)的迅速發(fā)展,工業(yè)控制系統(tǒng)已成為計(jì)算機(jī)技術(shù)應(yīng)用領(lǐng)域中活力的一個(gè)分支,并取得了巨大進(jìn)步。由于對(duì)系統(tǒng)可靠性和靈活性的高要求,工業(yè)控制系統(tǒng)的發(fā)展主要表現(xiàn)為:控制面向多元化,系統(tǒng)面向分散化,即負(fù)載分散、功能分散、危險(xiǎn)分散和地域分散。

  本文作者創(chuàng)新點(diǎn)是實(shí)現(xiàn)了在實(shí)時(shí)操作系統(tǒng)Small RTOS51下CAN總線上數(shù)據(jù)的接收與發(fā)送,用一個(gè)簡(jiǎn)單的實(shí)例來(lái)說(shuō)明了CAN總線的接收、發(fā)送原理。
  

關(guān)鍵詞:淺談Small RTOS51 下CAN總線數(shù)據(jù)收發(fā)實(shí)現(xiàn)CAN總線

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

車(chē)聯(lián)網(wǎng)時(shí)代,汽車(chē)電子的接口類(lèi)型有can總線,lin總線,rs485,rs232,或者以太網(wǎng)總線等等
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買(mǎi)家服務(wù):
賣(mài)家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!