freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于can總線的數據采集系統(tǒng)的設計與實現(已修改)

2025-07-09 17:26 本頁面
 

【正文】 基于CAN總線數據采集系統(tǒng)的設計與實現——CAN總線通信實驗內容提要: 以CAN (Controller Area Network) 總線控制器SJA1000為核心, 設計了一種通用的基于CAN總線的數據采集系統(tǒng), 給出了數據采集系統(tǒng)的原理、單個節(jié)點的軟硬件設計。 重點闡述了CAN 總線智能節(jié)點的設計、實現與注意事項。 試驗表明, CAN 總線的多主結構使系統(tǒng)改型靈活, 數據傳輸穩(wěn)定, 可靠性好, 數據傳輸速率可達1Mbit/s, 能滿足現場的實時性要求。CAN 總線的使用大大節(jié)約了連接導線、維護和安裝費用, 提高了系統(tǒng)的性價比, 具有廣泛的應用前景。關鍵詞:數據采集 CAN 總線 現場總線 芯片SJA 1000 目 錄一、引言 1二、 CAN總線 1(一)CAN總線介紹 1(二)CAN協(xié)議 1三、結構設計 4四、硬件設計 5五、軟件設計 6(一)初始化子程序 7(二)發(fā)送子程序 8(三)查詢方式接收子程序 10六、測試報告 12附錄 15參考文獻 36一、引言 信息技術的飛速發(fā)展,引起了自動化系統(tǒng)結構的變革, 形成以網絡集成自動化為基礎的控制系統(tǒng)。現場總線順應這一形式發(fā)展, 已成為當前工業(yè)數據總線領域中一個新熱點, 被廣泛應用于工業(yè)現場控制、智能家居、交通工具、環(huán)境監(jiān)測等眾多領域。 用數據采集系統(tǒng)能實現數據采集與處理, 加入高級算法即可實現智能控制, 因而減輕了上位機的負擔。本設計設計了一個通用的基于CAN 總線的數據采集卡, 著重闡述了它的設計及其實現。二、 CAN總線(一)CAN總線介紹CAN 總線 (Cont roller Area Network 控制器局域網)是現場總線的一種。 它是德國Bosch 公司在1986 年為解決現代汽車中眾多的控制與測試儀器之間的數據交換而開發(fā)的一種串行數據通訊總線。CAN 總線與其它通信網的不同之處有二:一是報文傳送中不包含目標地址 ,它是以全網廣播為基礎 ,各接收站根據報文中反映數據性質的標識符過濾報文 ,該收的收下 ,不該收的棄而不用。其好處是可在線上網下網、 即插即用和多站接收。二是特別強化了對數據安全性的關注 , 滿足控制系統(tǒng)及其它較高數據要求的系統(tǒng)需求。CAN 總線具有下列主要特性:l 多主站依據優(yōu)先權進行總線訪問。l 非破壞性的基于優(yōu)先權的總線仲裁。l 借助接收濾波的多地址幀傳送。l 遠程數據請求。l 配置靈活。l 全系統(tǒng)的數據相容性。l 錯誤檢測和出錯信令。l 發(fā)送期間若丟失仲裁或由于出錯而遭破壞的幀可自動重發(fā)送。l 暫時錯誤和永久性故障節(jié)點的判別以及故障節(jié)點的自動脫離 CAN 總線。(二)CAN協(xié)議數據傳輸的通信協(xié)議是指對數據傳輸的約定 ,包括定時 、控制 、格式化和數據表示方法等等 。CAN是一串行通訊協(xié)議 CAN總線規(guī)范規(guī)定了任意兩個節(jié)點之間的兼容性 ,包括電氣特性及數據解釋協(xié)議 ,為保證設計使用的透明性及使用的靈活性 ,CAN協(xié)議分為如下幾層:目標層 、傳送層 、物理層 。目標層的功能范圍包括:信息識別、信息狀態(tài)及處理。傳送層的功能范圍包括: 幀組織、總線仲裁、檢錯、錯誤報告、錯誤處理。物理層的功能范圍包括: 實際位傳送過程上的電氣特性。總線控制器支持4種不同結構的CAN協(xié)議幀類型:數據幀用于節(jié)點之間的數據傳輸遠程幀:用于請求發(fā)送具有相同標識符的數據幀出錯幀:用于指示檢測到的錯誤狀態(tài)過載幀:用于提供先前和后續(xù)數據幀或遠程幀之間的附加延時數據幀、遠程幀、出錯幀、過載幀都按一定的格式進行編碼數據幀:由7個不同的位場構成 ,如圖 1所示。它們是:幀起始 、仲裁場、控制場、CRC場 、ACK場和幀結束;遠程幀:由6個不同的位場構成:幀起始 、仲裁場、控制場、CRC場 、ACK場、幀結束出錯幀:由兩個不同的場構成。第一個場由來自不同節(jié)點的錯誤標志疊加給出,后隨的第二個場為錯誤定界符超載幀:包括兩個位場、超載標志和超載界定符。數據幀和遠程幀以幀間空間同先前幀隔開,幀編碼和發(fā)送/接收。圖1 數據幀的構成幀起始、仲裁場、控制場、數據場、序列幀段均以位填充方法進行編碼 ,即在以送位流中檢測到5個數值相同的時候 ,自動插人一個補碼位。數據幀或遠程幀的其余位場、錯誤幀、超載幀為固定格式 ,不使用位填充方法編碼,幀中的位流按照非歸零方法編碼。發(fā)送時從其SOF場開始逐個位場發(fā)送。對于發(fā)送器和接收器 ,一幀的有效點是不同的。對于發(fā)送器 ,若在幀結束完成前不存在錯誤 ,則該幀有效。對于接收器 ,若在幀結束最后一位前不存在錯誤 ,則該幀有效??偩€訪問和仲裁:當檢測到間歇場未被 “顯性”位中斷后 ,認為總線被所有節(jié)點釋放??偩€被釋放后 , “錯誤一激活”節(jié)點可以訪問總線。當許多節(jié)點一起開始發(fā)送時 ,只有發(fā)送具有最高優(yōu)先權的幀節(jié)點變?yōu)榭偩€主機 ,享有對總線的控制權。這種解決總線訪問沖突的機理是基于競爭的促裁 ,依據標識符和緊隨其后的RTR位來完成。錯誤檢測:在CAN中存在5類不同的錯誤位錯誤、填充錯誤、CRC錯誤、形式錯誤、應答錯誤、在網絡中的任何一個節(jié)點 ,根據其錯誤計數器的數值,可能處于下列3種狀態(tài)之一:“錯誤一激活”節(jié)點:一個“錯誤一激活”節(jié)點可以正常參與總線通信,并在檢測到錯誤時 ,發(fā)出一個激活錯誤標志?!板e誤一認可”節(jié)點:一個“錯誤一認可”節(jié)點不應發(fā)送激活錯誤標志 ,它參與總線通信,但在檢測到錯誤時,發(fā)出一個認可錯誤標志。“總線脫離”節(jié)點:當一個節(jié)點由于請求故障界定實體而對總線處于關閉狀態(tài)時 ,其處于“總線脫離”狀態(tài),在“總線脫離”狀態(tài)。為了進行錯誤界定 ,在總線上的每一個單元中都設有兩種計數器:發(fā)送出錯計數器和接收出錯計數器 ,錯誤計數器的值按照一定的規(guī)則進行修正。當節(jié)點的發(fā)送計數器或接收計數器的值超過127時 ,則監(jiān)控器要求置相應節(jié)點為“錯誤一認可”狀態(tài) ,送出一個激活標志。當發(fā)送計數器或接收計數器的值均小于或等于127時 , “錯誤一認可”節(jié)點再次變?yōu)?“錯誤一激活” 。當節(jié)點的發(fā)送計數器的值超過255時 ,則監(jiān)控器要求置相應節(jié)點為“脫離總線”狀態(tài)。處于“脫離總線”狀態(tài)的節(jié)點 ,在監(jiān)測到總線上出現128次11個連續(xù)的“隱性”位 ,變?yōu)閮蓚€錯誤計數器均為0的“錯誤一激活”節(jié)點。三、結構設計 數據采集系統(tǒng)由數據采集模塊和數據傳輸模塊組成, 其中數據傳輸通過CAN (Controller Area Network) 總線來實現。 控制器局域網CAN 屬于現場總線范疇, 它是一種有效支持分布式控制或實時控制的串行通信網絡。系統(tǒng)采用總線式網絡拓撲結構, 其系統(tǒng)總體結構如圖2所示。圖2 系統(tǒng)總體結構 選用CAN 總線連接各節(jié)點, 形成多主控制器的局域網。 CAN 總線符合 ISO11898標準, 最多可掛接110個節(jié)點, 采用CAN 總線特有的多主傳送方式, 各采集控制器根據現場需要, 當有數據時可自主發(fā)送, 無需主機不停地輪巡, 節(jié)省了網絡上的數據流量, 提高了傳輸效率。 CAN 總線傳輸介質為雙絞線或同軸電纜, 走線少、系統(tǒng)易擴展、改型靈活, 正是由于這些其他通信方式無法比擬的優(yōu)點, 才使之成為系統(tǒng)分布比較分散的數據采集系統(tǒng)的理想總線。數據采集系統(tǒng)將由現場傳感器送來的數據發(fā)送到空閑的CAN 總線上, 而總線上各節(jié)點通過預先設置好的驗收碼和驗收屏蔽碼, 來決定是否使用這個消息。 如果采集的數據需要進一步進行處理, 則上位機可從總線上接收數據并對其處理。 處理后的數據再送回CAN 總線, 經數模轉換模塊或其他節(jié)點進行控制操作。 當上位機需對某個節(jié)點施以控制時, 可采用點對點的方式與該節(jié)點進行通訊。 而當它需要對所有節(jié)點加以控制時, 則采用廣播方式將命令發(fā)送到總線。 這樣大大減少了數據的傳輸量, 從而提高了系統(tǒng)的傳輸速率, 同時又保證了系統(tǒng)的實時性和可靠性。 下面以數據采集系統(tǒng)中的數據采集節(jié)點為例來說明單個節(jié)點的設計思想。四、硬件設計數據采集系統(tǒng)單個節(jié)點硬件框圖如圖3所示, 由傳感器檢測的信息經多路開關送到可編程放大器PGA 204, 根據信號大小調節(jié)放大倍數(1, 10, 100, 1 000倍) , 放大后, 經AD574轉換為數字信號, 送入微處理器中存儲, 然后根據現場情況的需要, 將信號發(fā)送到CAN 總線上, 被其他節(jié)點或上位機接收。圖3 節(jié)點硬件框圖由于以AD574為A/D 轉換器的數據采集卡比較普及, 故下面重點闡述數據傳輸部分, 即CAN 總線智能節(jié)點的設計與實現。 CAN 總線上的節(jié)點是網絡上的信息接收和發(fā)送站, 由于節(jié)點主要由單片機和可編程的CAN 通信控制器組成, 能通過編程設置工作方式、ID 地址、波特率等參數, 故稱其為智能節(jié)點。CAN節(jié)點原理圖如圖4所示。89C51是節(jié)點的微處理器, 作為一個存儲器 I/O 映象設備, 負責對控制器SJA 1000初始化, 并控制其實現數據的收發(fā)等通信任務。 在CAN 總線通信接口中, 使用PH IL IPS 公司的 SJA 1000和 TJA 1040芯片。 SJA 1000是獨立的CAN 通信控制器, 用于完成CAN 總線通信協(xié)議的物理層和數據鏈路層的功能。TJA1040為高性能、高速CAN 收發(fā)器, 使用它可增大通信距離, 提高系統(tǒng)瞬間抗干擾能力, 改良系統(tǒng)的抗電磁干擾及電磁輻射性能, 保護總線, 降低射頻干擾, 實現熱防護等。圖4 CAN節(jié)點原理圖為進一步提高抗干擾能力, 在CAN 控制器SJA 1000和驅動器TJA 1040之間使用了高速光耦器件6N137構成隔離電路, 傳輸介質采用雙絞線 (或同軸電纜) 分別接至CAN 收發(fā)器TJA 1040的CANH 和CANL 引腳。 同時在總線兩端CANH 和CANL 之間加上分離中斷的120 8 終端電阻, 對總線阻抗匹配起著相當重要的作用[ 4 ]。此外, 為使CAN 控制器和微處理器能同時可靠復位, 外加了手動復位電路。SJA 1000的中斷輸出信號 (/N T) 接至單片機的中斷引腳 IN T0, 通過中斷方式實現單片機與CAN 控制器的通信。 在電路實際調試過程中須注意以下幾點。 終端電阻不可忽略。 否則會使數據通信的抗干擾性和可靠性降低, 嚴重時可導致無法通信。 1040 (與PCA 82C250兼容) 的“SPL IT”引腳 (代替82C250“ V ref”引腳) , 對總線DC 穩(wěn)壓很有效[ 4 ]。 如果“SPL IT”用于共模電壓的DC 穩(wěn)壓, 這個“SPL IT”引腳要連接到分離中斷的中間分接頭。 若“SPL IT”不使用, 只需保持開路即可。 1040引腳“STB”一般被直接連接到微處理器輸出口, 以便于控制收發(fā)器的工作模式。五、軟件設計CAN 總線節(jié)點的軟件設計主要包括三大部分:CAN 節(jié)點初始化、報文發(fā)送和報文接收。熟悉這三部分程序的設計, 就能編寫出利用 CAN 總線進行通信的一般應用程序。當然要將 CAN 總線應用于通信任務比較復雜的系統(tǒng)中還需詳細了解有關CAN總線錯誤處理、總線脫離處理、接收濾波處理、波特率參數設置和自動檢測以及CAN總線通信距離和節(jié)點數的計算等方面的內容。下面僅就前面提到的三部分程序的設計作一個描述,以供大家在實際應用中參考。 (一)初始化子程序 SJA1000 的初始化只有在復位模式下才可以進行。初始化主要包括工作方式的設置 接收濾波方式的設置,接收屏蔽寄存器AMR 和接收代碼寄存器 ACR 的設置,波特率參數設置和中斷允許寄存器 IER 的設置等。在完成 SJA1000 的初始化設置以后 SJA1000 就可以回到工作狀態(tài) 進行正常的通信任務。下面提供了SJA1000 初始化的 51 匯編源程序。程序中寄存器符號表示的是 SJA1000 相應寄存器占用的片外存貯器地址 這些符號可在程序的頭部用偽指令EQU進行定義。后文對這一點不再作特別說明。CANINI: MOV DPTR, MOD ;方式寄存器 MOV A ,
點擊復制文檔內容
高考資料相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1