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

正文內(nèi)容

基于can總線的單片機(jī)監(jiān)控系統(tǒng)-文庫吧資料

2024-11-15 03:20本頁面
  

【正文】 鐘電路輸入端,來作為 AT89C51 的外部時(shí)鐘輸入,從而解決了時(shí)鐘同步問題:同時(shí)將 SJA1000中斷輸出信號(hào)/ INT接至 AT89C51的/ INT0端,通過中斷方式與 AT89C51進(jìn)行通信。 (3)SJA1000的 TX1腳懸空時(shí), RX1引腳的電位必須維持在約 ,否則,將不能形成 CAN協(xié)議所要求的 電平邏輯。對(duì) CR的第二次寫訪問是清除復(fù)位請(qǐng)求位,使 SJA1000返回工作模式。程序中 BTR0=00H, BTR1=1Ch,則波特率為 500Kbps。例如:在初始化程序中, ACR=03H, AMR=0FCH,由此只有信息識(shí)別碼的高 8位為 XXXXXX11的數(shù)據(jù)幀被接收。在接收寄存 器( RXB)為空,滿足不述條件時(shí),報(bào)文可被正確地接收。開放接收、出錯(cuò)、溢出中斷 MOVX DPTR, A ;置位復(fù)位請(qǐng)求,開始初始化 MOV DPTR, ACR MOV A, 03H ;接收代碼寄存器為 03H MOVX DPTR, A INC DPTR MOV A, 0FCH ;接收屏蔽寄存器為 0FCH MOVX DPTR, A INC DPTR MOV A, 00H MOVX DPTR, A INC DPTR MOV A, 1CH ; 500Kbps MOVX DPTR, A INC DPTR MOV A, 0AAH ;正常輸出模式 MOVX DPTR, A MOV DPTR, CR MOV A, 1AH 。 節(jié)點(diǎn)軟件設(shè)計(jì) 根據(jù)節(jié)點(diǎn)電路原理圖, SJA1000的首地址為 0000H。 SJA1000的發(fā)送輸出端 TX0與接收輸入端 RXO、 RX1分別經(jīng)高速集成光電耦合器 6N137隔離后,與 CAN 總線接口驅(qū)動(dòng)芯片 82C250的 TXD和 RXD相連, 82C250直接與 CAN物理總線相連。 SJA1000的 16 腳 (INT)是中斷信號(hào)輸出端,在中斷允許的情況下,有中斷發(fā)生時(shí), 16 腳會(huì)輸出由高電平到低電平的跳變,因此將 AT89C51的外部中斷輸入腳 (INT0)與該腳相連接,即可通過中斷方式來訪問 SJA1000。由于 SJA1000是低電平復(fù)位,而 AT89C51是高電平復(fù)位,所以兩者的復(fù)位端接法不同。 CPU通過這些地址可對(duì) SJA1000執(zhí)行相應(yīng)的讀/寫操作 (即: SJA1000首地址為 8000H)。圖中, CAN 總線控制器 SJA1000 的 ADOAD7 連接到 AT89C51的 P0口。 CAN通信控制器是 CAN總線接口電路的核心,主要完成 CAN的通信協(xié)議,而 CAN總線收發(fā)器的主要功能是增大通信距離,提高系統(tǒng)的瞬間抗干擾能力,保護(hù)總線,降低射頻干擾 (RFI),實(shí)現(xiàn)熱防護(hù)等。由于在待機(jī)方式下,接收器是慢速的,因此,第一個(gè)報(bào)文將被丟失。 若引腳 8加有高電平,則電路進(jìn)入低電流待機(jī)方式。上升和下降斜率可通過由引腳 8至地連接的電阻進(jìn)行控制。 對(duì)于較低速度或較短總線長(zhǎng)度,可用非屏蔽雙絞線或平行線作總線。建議使用屏蔽電纜以避免射頻干擾問題。 表 5 RS 選擇的三種工作方式 RB提供條件 方 式 R8上的電壓或電流 VRS 10μA IRS200μA VRS 待機(jī)方式 斜率方式 高速方式 IRS|10μA| VRS IRS500μA 在高速工作方式下,發(fā)送器輸出晶體管簡(jiǎn)單地以盡可能快 的速度啟閉。忽略掉它們會(huì)降低總線的抗干擾能力,甚至導(dǎo)致無法通信。在設(shè)計(jì)節(jié)點(diǎn)電路時(shí),還要注意下面幾點(diǎn): 通過光耦與 82C250 的連接是電流隔離的接法,這樣可以防止線路間的串?dāng)_。該設(shè)計(jì)中之所以選擇 82C250芯片,是因?yàn)槠渚哂懈咚傩裕ㄗ罡呖蛇_(dá) 1 Mbps),具有抗瞬間干擾保護(hù)總線的能力,具有降低射頻干擾的斜率控制。另外 SJA1000的 11腳 MODE接高電平,選擇 Intel二分頻模式。 節(jié)點(diǎn)硬件電路設(shè)計(jì) 圖 2是節(jié)點(diǎn)的電路原理圖。此節(jié)點(diǎn)可直接運(yùn)用到 CAN 總線網(wǎng)絡(luò)系統(tǒng)中,或者對(duì)此節(jié)點(diǎn)電路稍加變動(dòng)來滿足設(shè)計(jì)的要求。當(dāng)接收 FIFO不空和接收中斷使能時(shí)置位此位 0 復(fù)位。發(fā)送緩沖器狀態(tài)從 0變?yōu)?1(釋放)和發(fā)送中斷使能時(shí),置位此位 0 復(fù)位。錯(cuò)誤中斷使能時(shí),錯(cuò)誤狀態(tài)位或總線狀態(tài)位的變化會(huì)置位此位 0 復(fù)位。當(dāng)數(shù)據(jù)溢出中斷使能位被置為 1時(shí),向數(shù)據(jù)溢出狀態(tài)位傳送 “0 1” ,此位被置位 0 復(fù)位。退出睡眠模式時(shí)此位被置位 0 復(fù)位。中斷寄存器各位的功能說明如表 4所列。寄存器被微控制器讀過之后,所有會(huì)導(dǎo)致 INT 引腳上的電平變化的位被復(fù)位。無可用信息 ( 4)中斷寄存器( IR) 通過中斷寄存器可識(shí)別中斷源。自從最后一次清除數(shù)據(jù)溢出命令執(zhí)行,無數(shù)據(jù)溢出發(fā)生 RBS 接收緩沖 器狀態(tài) 1 滿。 CPU不能訪問發(fā)送緩沖器,有信息正在等待發(fā)送或正在發(fā)送 DOS 數(shù)據(jù)溢出狀態(tài) 1 溢出。當(dāng)前發(fā)送請(qǐng)求未處理完畢 TBS 發(fā)送緩沖器狀態(tài) 1 釋放。沒有可接收的信息 TCS 發(fā)送完畢狀態(tài) 1 完畢。沒有要發(fā)送的信息 RS 接收狀態(tài) 1 接收。兩個(gè)錯(cuò)誤計(jì)數(shù)器都在警限制以下 TS 發(fā)送狀態(tài) 1 發(fā)送。 SJA1000加入總線活動(dòng) ES 出錯(cuò)狀態(tài) 1 出錯(cuò)。無動(dòng)作 表 3 狀態(tài)寄存器各位的功能說明( SR): CAN地址 2 位 符號(hào) 名稱 值 功 能 BS 總線狀態(tài) 1 總線關(guān)閉。無動(dòng)作 TR 發(fā)送請(qǐng)求 1 當(dāng)有。接收緩沖器存放信息的內(nèi)存空間將被釋放 0 無動(dòng)作 AT 忽略發(fā)送 1 當(dāng)前。清除數(shù)據(jù)溢出狀態(tài)位 CDO 清除數(shù)據(jù)溢出 1 清除。 表 2 命令寄存器各位的功能說明( CMR): CAN地址 1 位 符號(hào) 名稱 值 功 能 保留 保留 保留 GTS 睡眠 1 睡眠。對(duì)于錯(cuò)誤狀態(tài)位,當(dāng)至少有一個(gè)錯(cuò)誤計(jì)數(shù)器滿或超出 CPU警告限制( 96)時(shí),錯(cuò)誤狀態(tài)位被置位。當(dāng)傳輸錯(cuò)誤計(jì)數(shù)器超過限制( 255)(總線狀態(tài)位置 1,即總線關(guān)閉), CAN控制器就會(huì)將復(fù)位請(qǐng)求位置 1,在錯(cuò)誤中斷允許的情況下,會(huì)產(chǎn)生一個(gè)錯(cuò)誤中斷。讀 接收緩沖器之后,微控制器可以通過設(shè)置釋放接收緩沖器為 1,來釋放接收隊(duì)列當(dāng)前信息的內(nèi)存空間。如果數(shù)據(jù)溢出位被置位,就不會(huì)產(chǎn)生數(shù)據(jù)溢出中斷了。將睡眠模式位置為 1, SJA1000進(jìn)入睡眠模式,此時(shí)沒有總線活動(dòng),沒有中斷等待。在復(fù)位模式和工作模式下 都可對(duì)此寄存器進(jìn)行訪問,但是讀這個(gè)地址返回值是 “11111111” 。復(fù)位請(qǐng)求位被設(shè)為 0后, SJA1000將會(huì)等待: ( 11個(gè)弱勢(shì)位),如果前一次復(fù)位請(qǐng)求是硬件復(fù)位或 CPU初始復(fù)位; 128個(gè)總線空閑,如果前一次復(fù)位請(qǐng)求是 CAN控制器在重新進(jìn)入總線開啟模式前初始化總線造成的。復(fù)位請(qǐng)求位接收到一個(gè)下降沿后, SJA1000回到工作模式 在 硬啟動(dòng)或總線狀態(tài)位設(shè)置為 1(總線關(guān)閉)時(shí),復(fù)位請(qǐng)求位被置為 ,微控制器不能把復(fù)位請(qǐng)求位置為 0。此中斷信號(hào)被禁止 CR0 RR 復(fù)位請(qǐng)求 1 當(dāng)前。微控制器不從 SJA1000接收發(fā)送中斷信號(hào) CR1 RIE 接收中斷使能 1 使能。微控制器不從 SJA1000接收錯(cuò)誤中斷信號(hào) CR2 TIE 發(fā)送中斷使能 1 使能。微控制器不從 SJA1000接收溢出中斷信號(hào) CR3 EIE 錯(cuò)誤中斷使能 1 使能。 表 1 控制寄存器各位說明( CR): CAN地址 0 位 符號(hào) 名稱 值 功 能 CR7 保留 CR6 保留 CR5 保留 CR4 OIE 溢出中斷使能 1 使能。 ( 1)控制寄存器( CR) 控制寄存器位于 SJA1000 寄存器區(qū)的 0 地址,用來設(shè)置 CAN 總線的模式和各種中斷。在復(fù)位模式下可寫的寄存器為控制段的控制寄存器、命令寄存器、接收代碼寄存器、屏蔽寄存器、總線時(shí)序 0、總 線時(shí)序 輸出控制寄存器,還包括接收緩沖器和時(shí)鐘分頻器;而在工作模式下可寫的寄存器為控制寄存器、命令寄存器、發(fā)送緩沖器段、接收緩沖器段和時(shí)鐘分頻器。 SJA1000的寄存器分布于 0~ 31連續(xù)的地址空間中。這兩種模式分別是復(fù)位模式和工作模式。對(duì)于單片機(jī)而言,操作 SJA1000就像訪問外部 RAM一樣簡(jiǎn)單。此位清零時(shí),為Basic CAN模式;置位時(shí),為 Peli CAN模式。 下面只介紹 Basic CAN模式,對(duì)于 Peli CAN模式請(qǐng)查看參考文獻(xiàn) [1]。 SJA1000 具有很多新的功能,修改了兩種模式:Basic CAN模式、 PCA82C200兼 容模式;增加了 Peli CAN模式,此模式支持 CAN ( 29字節(jié)的識(shí)別碼)。 SJA1000有兩種封裝形式,分別是塑質(zhì)雙列直插封裝和塑質(zhì)小型線外封裝。 CLKOUT: SJA1000 產(chǎn)生的提供給微控制器的時(shí)鐘輸出信號(hào),時(shí)鐘信號(hào)來源于內(nèi)部振蕩器且通過編程驅(qū)動(dòng),時(shí)鐘控制寄存器的時(shí)鐘關(guān)閉位可禁止該引腳。 INT在內(nèi)部中斷寄存器各位都置位時(shí),低電平有效。 RX0、 RX1:從物理 CAN總線輸入到 SJA1000的輸入比較器。 MODE:模式選擇輸入, 1(高電平) =Intel模式; 0(低電平)=Motorola模式。 SJA1000引腳介紹 圖 1是 SJA1000引腳圖。 PHILIPS半導(dǎo)體公司將它作為 PCA82C200 CAN控制器( Basic CAN)的替代產(chǎn)品。下面介紹 PHILIPS 半導(dǎo)體公司推出的 CAN總線控制器 SJA1000,并給出其應(yīng)用實(shí)例。 1993年 11月, ISO正式頒布了道路交通運(yùn)載工具,進(jìn)行數(shù)據(jù)信息交換用的高速通信控制局部網(wǎng)( CAN)的國際標(biāo)準(zhǔn)( ISO11898)。 SJA1000在 CAN總線系統(tǒng)節(jié)點(diǎn)的應(yīng)用 20200507 15:50:07 作者:北京理工大學(xué) 岑雪松 朱 丹 來源 :互聯(lián)網(wǎng) 摘要: 介紹 CAN總線控制器 SJA1000;給出其在 CAN總線系統(tǒng)節(jié)點(diǎn)中的應(yīng)用方法、節(jié)點(diǎn)電路原理圖及初始化程序;針對(duì)用戶 SJA1000容易出現(xiàn)的問題進(jìn)行了解說。軟件復(fù)位 (復(fù)位請(qǐng)求 /復(fù)位模式 )時(shí),此寄存器不受影響。 表 32 輸出控制寄存器的設(shè)置 本課題設(shè)置的是正常輸出模式,在正常輸出模式中位序列 (TXD)通過 TX0 和 TX1 送出,輸出驅(qū)動(dòng)引腳TX0和 TX1的電平取決于被 OCTPX, OCTNX(懸空,上拉,下拉,推挽 )編程的驅(qū)動(dòng)器的特性和被 OCPOLX編程的輸出端極性。 輸出控制寄存器 (OCR)實(shí)現(xiàn)了由軟件控制不同輸出驅(qū)動(dòng)配置的建立,在復(fù)位模式中此寄存器可被讀 /寫訪問,在 PeliCAN模式的工作模式中 ,此寄存器只讀。 每一位的時(shí)鐘數(shù)目: tTSEG1 =tSCL(8 + 4 + 2 + + 1) 本課題設(shè)置的是 tTSEG1 = 5t SCL。 SAM為采樣位; SAM=1,三倍,總線采樣三次;建議在低 /中速總線 (A級(jí)和 B級(jí) )上使用,這對(duì)過濾總線上的毛刺波是有益的; SAM=0,單倍,總線采樣一次,建議在高速總線上 (C級(jí) )上使用。 總線定時(shí)寄存器 0的位功能說明: CAN地址是 6, ~ ; CAN的系統(tǒng)時(shí)鐘tSCL的周期是可編程的,而且決定了各自的位時(shí)序, CAN系統(tǒng)時(shí)鐘周期由如下公式計(jì)算: tSCL=2t CLK*(32*+16*+8*+4*+2*++1) 這里 tCLK =XTAL 的頻率周期 =1/fXTAL,本課題中設(shè)置是 tSCL=12t CLK。 總線定時(shí)寄存器 0( BTR0)定義了波特率預(yù)設(shè)值( BRP)和同步跳轉(zhuǎn)寬度( SJW)的值 ,復(fù)位模式有效時(shí)這個(gè)寄存器是可以被訪問 (讀 /寫 )。 接收過濾器由接收代碼寄存器 (ACR)和接受屏蔽寄存器 (AMR)組成,在接 受過濾器的幫助下,只接收識(shí)別碼和接受過濾器中預(yù)設(shè)值相等時(shí), CAN控制器能夠允許 RXFIFO。位于 CAN 地址的 16和 28,每條信息都分為描述符和數(shù)據(jù)區(qū),接受緩沖器結(jié)構(gòu)圖如表 31。 數(shù)據(jù)字節(jié)長(zhǎng)度范圍是 08編碼形式如下: 數(shù)據(jù)字節(jié)數(shù) =8+4+2+ 標(biāo)準(zhǔn)幀格式( SFF)的識(shí)別碼有 11 位( ), ,在總線仲裁過程中最先發(fā)送到總線上,別碼就象信息的名字一樣,使用在驗(yàn)收濾波器中,而且在仲裁過程中決定了總線訪問的優(yōu)先權(quán),識(shí)別碼的二進(jìn)值越低優(yōu)先權(quán)越高。在 CAN地址的 1628 。 發(fā)送緩沖器被分為描述符區(qū)和數(shù)據(jù)區(qū),描述符區(qū)的第一個(gè)字節(jié)是幀信息字節(jié)(幀信息),它說明了幀格式(標(biāo)準(zhǔn)幀格式 SFF或擴(kuò)展幀格式 EFF)、遠(yuǎn)程或數(shù)據(jù)幀和數(shù)據(jù)長(zhǎng)度。 命令寄存器( CMR)是命令位初始化 CAN 控制器傳輸層的一個(gè)動(dòng)作,這個(gè)寄存器是只寫的,所有位的讀出值都是邏輯 0,因處理需要,兩條命令之間至少有一個(gè)內(nèi)部時(shí)鐘周期,內(nèi)部時(shí)鐘周期的頻率是外部振蕩器的一半。在 PeliCAN 模式下主要對(duì)下面一些寄存器操作:模式寄存器、命令寄存器、狀態(tài)寄存器、中斷寄存器、驗(yàn)收代碼寄存器、驗(yàn)收屏蔽寄存器、總 線定時(shí)寄存器 0、總線定時(shí)寄存器 輸出控制寄存器、發(fā)送緩沖器、接收緩沖器、時(shí)鐘分頻器。下面對(duì) SJA1000CAN控制器的各寄存器作詳細(xì)的說明。 要使 SJA1000CAN控制器正常工作,最主要的是要對(duì) SAJ1000的工作
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1