免播放器在线 I 欧美性粗暴 I 日本成人激情视频 I 成人性生交大片免费看96 I 精品无码成人网站久久久久久 I 亚洲福利网 I 国产麻豆亚洲精品一区二区 I 激情五月婷婷久久 I 国产三级一区 I 激情网站五月天 I 请鬼在线观看免费高清恐怖 I 日本高清不卡码 I 一级黄色录像影片夫妻性生活影片 I 91中文字幕网 I av不卡网站 I 青青草97国产精品免费观看 I 亚洲一区二区三区欧美 I 超碰97人人模人人爽人人喊 I 欧美视频免费播放 I 在线网站黄色 I 福利网址在线观看 I 91超碰caoporn97人人 I 亚洲三级在线中文字幕 I 色综合福利 I 黄色美女视频 I 国产毛片不卡野外视频 I 亚洲精品第一国产综合野 I 91天堂在线视频 I 国产性猛交xx乱视频 I 狠狠狠色丁香综合婷婷久久 I 又色又爽又激情的59视频 I 大胆美女人体午夜电影 I 申鹤乳液狂飙 I 国产91一区二区三区 I 欧美日韩中文字幕精品

咨詢電話: 152-3782-8699

— 產品知識 —

NEWS CENTRES
聯系我們/CONTACT US
全國免費客服電話 152-3782-8699
開封市盛達水表有限公司

地址:開封市魏都路中段109號

電話:152-3782-8699

郵箱:497343898@qq.com

您的位置:首頁>>產品知識

產品知識

低基于CAN總線的非智能適配卡設計

發布時間:2018-11-15 09:20:20

   控制器局域網CAN (Controller Area Network)是目前被批準為國際標準的少數現場總線之一。CAN網絡可采用多主方式工作。它采用非破壞性的總線仲裁技術,其信號傳輸和控制采用短幀結構,因而具有較強的抗干擾能力和低耦合性;CAH網絡的通訊速率范圍為5 kbs/10 km~lMbs//40m,驅動節點數可達110個。它的傳輸介質可以是雙絞線、同軸電纜或光纖,選擇十分靈活;每幀信息都有CRC校驗及其它檢錯措施,因而數據出錯率極低,可靠性很高;當其傳輸的信息出錯嚴重時,節點可自動斷開與總線的聯系,以使總線上其它的操作不受影響。

   雖然目前PCI、USB等總線技術得到了快速發展,但在大量應用的測試微機及工控機中,用的*多的還是ISA (Industry Standard Architecture.工業標準體系結構)總線。ISA總線具有16位數據寬度,*高工作頻率為8MHz,數據傳輸速率達到16MB/s,地址總線有24條,可尋址16MB的地址單元,其總線信號分為5類,分別為地址線、數據線、控制線、時鐘線和電源線。

   為了解決CAN控制器SJA1000與ISA總線各信號線的時序配合與邏輯配合問題,筆者設計了一種基于CAN總線的非智能適配卡。該適配卡已應用于筆者研制的"基于CAN總線的運動控制系統"中,運行情況良好。

   非智能型ISA總線CAN適配卡的總體結構

   CAN控制器SJA1000的地址數據總線是分時復用的,通過ALE信號的下降沿可鎖存總線上的地址信號;ISA總線上的地址和數據總線是單獨提供的,它不能直接和SJA1000的地址數據總線相連。本設計利用地址譯碼電路來對地址信號線進行譯碼,從而為CAN適配卡分配出一定的端口地址。然后再利用74HC373芯片的數據鎖存功能鎖存第一次I/O操作中通過ISA數據總線傳送的數據信號,以便作為訪問CAN控制器SJA1000中寄存器的地址信號,*后在第二次I/O操作中完成對SJA1000中相應地址寄存器的讀寫操作。

   地址鎖存器74HC373可看作SJA1000的地址端口,而SJA1000本身可看作SJA1000的數據端口,另外還有對SJA1000進行硬件復位的復位端口。圖中的基地址譯碼電路以AEN作為使能信號,對A2~A9地址信號進行譯碼就可得到適配卡的基地址;組合AO和A1地址信號可得到各端口的偏移地址。SJA1000與ISA的通訊采用兩次I/O操作的方法,第一次先往地址端口送地址,第二次再對數據端口進行訪問。這里所說的地址及數據端口都是對SJAl000而言的,通過ISA總線的數據線可獲得被訪問的SJA1000寄存器的地址及所傳送的數據。控制端口譯碼電路可將CPU送來的控制信號和地址信號按一定的邏輯關系進行組合,從而生成一組新的功能信號作為接口控制信號。通過SJA1000復位電路可對SAJ1000進行復位,具體操作可采用上電復位、程序復位及按鍵復位三種硬件復位方式。

   適配卡硬件的設計

   基地址譯碼電路設計

   一般情況下,根據系統需要,地址譯碼電路可對ISA地址線的端口地址譯碼,并可用AO~A9來表示。基地址譯碼電路對A9~A2進行譯碼,則可作為卡上端口的基地址。

   74HC688是一個8位量值比較器,當時Pi=Qi(i=0…7),P=Q的反端輸出低電平。當ISA總線的AEN為高電平時,總線工作在DMA方式;而當AEN為低電平時,CPU擁有對總線的控制權。非智能型適配卡的工作過程實際上就是CPU對I/O的操作過程,期間,AEN始終為低電平,可用于控制74HC688的選通端G反。只有在I/O操作時,才允許它選擇地址。由于使用的是撥碼開關,用戶可預先設定適配卡的基地址。卡上各端口的偏移由A1和A0選擇,并可通過軟件控制,本設計中的定義地址端口偏移為00,數據端口偏移為01,復位端口偏移為11。

   控制信號產生電路

   該適配卡的控制信號產生電路如圖3所示。該電路的主要作用是把CPU送來的控制線和地址線按照一定的邏輯關系進行組合,以生成一組新的功能信號輸出。該信號可作為接口控制信號去控制SJA1000、74HC373、74HC245等芯片的工作狀態。由于基地址譯碼電路的輸出信號為P=Q的反(低電平**),SJA1000地址端口偏移地址為00H,數據端口偏移地址為01H。

   適配卡在工作過程中,各芯片的邏輯時序關系是:當74HC373輸出數據**時,74HC245輸出為高阻態;當74HC373輸出呈高阻態,且SJA1000的數據直接傳回ISA總線時,74HC245輸入輸出工作正常。具體來講,假設CAN的基地址為300H,且訪問SJA1000是分兩次I/O操作完成的,那么,第一次往端口300H送出的數據可在寫信號的后沿被鎖存在74HC373中,這個操作中,74HC245的E與74HC373的LE端**,而74HC373的OE端為高電平,74HC373輸出端為高阻態;當第二次訪問數據端口301H時,SJA1000被選中,此時CPU可對SJA1000的相應單元進行讀/寫操作。具體的操作過程分為讀、寫兩種情況。當第二次I/O操作到來時,SJA1000會在BALE信號下降沿將第一次I/O操作時鎖存在74HC373中的數據作為地址鎖存,該過程中,74HC245的E反為高電平,輸出呈高阻態,74HC373的OE的反為低電平,輸出端**,可向SJA1000傳送地址信號。當地址被SJA1000鎖存以后,此時如果進行的是讀操作,那么,在讀信號**期間(低電平),74HC373的輸出允許OE反端為高電平,74HC373輸出端呈高阻態,這時SJA1000可將選中單元的寄存器內容輸出到數據總線,并通過74HC245驅動送入CPU中。而在地址鎖存后,如果進行的是寫操作,那么,74HC373的輸出允許端始終**,此時可在寫信號**期間,將數據寫入SJA1000的相應單元中。

   計算機通過ISA總線對CAN控制器SJA1000進行讀寫的時序。

   復位電路

   SJA1000正常工作前,只有通過復位引腳對其進行可靠的硬件復位,才能對SJA1000中的寄存器進行**的讀寫操作。使SJA1000可靠復位的電平持續*小時間為0.1μs,PC系統復位電平持續時間可達幾微秒。系統復位信號RESET在系統電源接通時為高電平,經反向器后可直接用于對SJA1000進行復位。圖6所示是適配卡的復位電路,對SJA1000的復位具有開機上電復位、程序復位以及按鍵復位等三種方式。

   A1和A0經過與非門74LSl0后,為復位電路產生的偏移地址為11,該地址信號與IOW反、P=Q反等信號經過邏輯組合,同時配合程序設計可產生對SJA1000的復位信號。程序設計時只需對復位端口寫入一個數據即可實現程序復位。而按鍵復位則可在系統運行出現通信故障時,直接用于對CAN控制器SJA1000進行硬件復位。

   適配卡的軟件設計

   軟件設計的關鍵部分是CAN通信程序的設計。通信程序(流程如圖7、8、9所示)可分為三部分:CAN初始化程序、接收程序、發送程序。初始化是通信的前提,主要完成對CAN控制器的一些寄存器的設置。由于SJA1000支持中斷操作,因此可以用中斷服務程序來完成數據的接收和發送,以提高系統的工作效率。

   實際上,只有在復位模式下才可以對SJA1000進行初始化,初始化主要包括工作方式的設置、接收濾波方式的設置、接收屏蔽寄存器和接收代碼寄存器的設置、波特率參數設置和中斷允許寄存器的設置等。完成初始化后,即可將SJA1000設置為工作狀態,以進行正常的通信。發送子程序負責節點報文的發送。發送時,讀取狀態寄存器并對各位進行適當判斷,并將待發送的數據按特定格式組合成一幀報文,送入SJA1000發送緩存區中,然后啟動SJA1000發送;接收子程序則負責節點報文的接收以及其它情況的處理。在處理接收報文的過程中,還要對總線關閉、錯誤報警、接收溢出等情況進行處理。

   CAN適配卡與計算機可采用中斷方式通信。但在WIN API中不能直接控制中斷,只有在操作系統底層為CAN適配卡編寫虛擬設備驅動程序(VxD)才可以利用中斷。這需要在虛擬設備驅動程序中將中斷虛擬化,并在中斷事件響應函數中編寫所需代碼,同時為應用程序提供訪問接口。應當注意的是:計算機通過ISA總線對CAN適配卡上的SJA1000進行訪問采用的是兩次I/O操作,第一次往地址端口送地址,第二次對數據端口進行訪問。其具體的實現代碼如下:

   向指定的SJA1000寄存器(地址為addr)寫一個字節數據(data),CAN_BASE為基地址

   void CanIRQ::writeByte(int CAN_BASE,unsigned char addr,unsigned char data)

   {

   _outp(CAN_BASE,addr);

   _outp(CAN_BASE+1,data);

   }

   //從指定的SJA1000寄存器(地址為addr)讀一個字節數據(data)

   unsigned char CanIRQ::ReadByte(int CAN_BASE,unsigned char addr)

   {

   unsigned char result;

   _outp(CAN_BASE,addr);

   result=_inp(CAN_BASE+1);

   return result;

   }

   在訪問SJA1000的程序中,可以直接調用以上兩子函數。這樣,其發送程序段代碼為:

   Bool CanIRQ::CanTrans(int CAN_BASE,unsigned char*pTransBuf)

   {

   status=ReadByte(CAN_BASE,SR); //SR為狀態寄存器地址

   for(i=0;i

   {

   WriteByte (CAN_BASE,*pTFansBuf,ptbuf;//pTransBuf為發送緩沖區地址

   ptbuf++;pTransBuf++;

   }

   }

   結束語

   通過解決計算機ISA總線與CAN控制器SJA1000的邏輯配合與時序配合可完成基于CAN總線的非智能適配卡設計。該適配卡現已成功地應用于筆者所研制的基于CAN總線的測控系統中。實際上,若在適配卡上增加CAN通信控制器,也可使一卡帶多條CAN總線,以增加網絡節點,擴大網絡規模。另外,還可以在適配卡的應用程序中,根據應用系統需要編寫各種監控程序來擴展系統功能。

 

相關推薦

?
X

截屏,微信識別二維碼

微信號:15237828699

(點擊微信號復制,添加好友)

  打開微信

在線咨詢

銷售熱線

銷售熱線:152-3782-8699

主站蜘蛛池模板: 久久88香港三级 | 亚洲免费在线视频 | 色成人综合 | 国产乱人伦app精品久久 | 综合久久久久久综合久 | 99噜噜噜在线播放 | 波多野一区二区 | 香蕉香蕉国产片一级一级毛片 | 国产中文字幕在线 | 日韩国产一区二区三区 | 亚洲日韩精品国产一区二区三区 | 日韩精品一区二区在线观看 | 免费一区 | 亚洲综合欧美色五月俺也去 | 欧美操人视频 | 国产精品成人不卡在线观看 | 不卡视频一区二区 | 达达兔午夜起神影院在线观看麻烦 | 国产欧美性综合视频性刺激 | 国产午夜免费高清久久影院 | 乱码午夜-极国产极内射 | 熟妇与小伙子matur老熟妇e | 国产欧美久久一区二区三区 | 日韩精品视频在线播放 | 亚洲国产品综合人成综合网站 | 国产成人无码aa精品一区 | 曰韩人妻无码一区二区三区综合部 | 国产男女猛烈无遮挡免费视频网站 | 色狠狠色狠狠综合天天 | 亚洲成av人的天堂在线观看 | 女人与拘做受全过程免费视频 | 日本午夜大片免费观看视频 | 欧美一区二区三区红桃小说 | 少妇扒开双腿自慰出白浆 | 午夜资源站 | 国产精品国产三级国产aⅴ无密码 | 欧美zozozo人禽交免费大片 | 王骏迪的个人资料 | 日韩亚av无码一区二区三区 | 国产日韩一区 | 夜夜添无码一区二区三区 | 欧洲熟妇色xxxx欧美老妇老头多毛 | 精品无码国产一区二区三区麻豆 | 最新亚洲精品国偷自产在线 | 色婷婷色| 国产av一区二区三区 | 久草中文在线 | 国产一区二区在线影院 | 五月综合激情在线 | 国产高清视频在线 | 欧美男生射精高潮视频网站 | 无码人妻精品一区二区三区9厂 | 亚洲 欧美 日韩中文字幕一区二区 | 国产精品扒开腿做爽爽爽a片唱戏 | 91视频官网 | 久久午夜夜伦鲁鲁片免费无码 | 国产成人精品在线观看 | 美女内射视频www网站午夜 | 中文字幕三区 | 午夜电影一区 | 国产奶头好大揉着好爽视频 | 欧美视频在线一区二区三区 | 亚洲成在人线在线播放无码 | 日本真人边吃奶边做爽免费视频 | 午夜午夜精品一区二区三区文 | 中文字幕免费在线观看 | 日韩人妻无码精品久久久不卡 | 精品无码av无码免费专区 | 国产gav成人免费播放视频 | 天天摸日日干 | av无码人妻波多野结衣 | 成人午夜免费福利视频 | 伊人久久国产 | 一级毛片在线看在线播放 | 久久爱成人网 | sm高h视频| 亚洲色在线无码国产精品不卡 | 亚洲精品乱码久久久久久蜜桃 | 亚洲不卡av一区二区三区 | 无码日本精品久久久久久 | 国产精品夜间视频香蕉 | 初尝黑人嗷嗷叫中文字幕 | 人妻少妇精品专区性色av | 色综合97天天综合网 | 免费视频片在线观看大片 | 久久综合狠狠综合久久综合88 | 色婷婷精品综合久久狠狠 | 激情内射亚州一区二区三区爱妻 | 成人亚洲网 | 免费无码专区毛片高潮喷水 | 国产精品视频久久 | 国产精品爱久久久久久久电影蜜臀 | 亚洲国产精品久久久久久 | a视频免费| 天天狠天天透天干天天怕∴ | 色翁荡息又大又硬又粗又爽电影 | 人禽无码视频在线观看 | 日本又黄又粗暴的gif动态图含羞 | 日韩精品在线一区 |