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

正文內(nèi)容

基于can總線的單片機(jī)監(jiān)控系統(tǒng)(更新版)

  

【正文】 具有配置靈活的收發(fā)器件,并允許總線故障,只是驅(qū)動(dòng)能力只允許 2030個(gè)節(jié)點(diǎn)連接在一條總線上。通過(guò)將引腳 RS接地可選擇高速方式。 ? 未上電的節(jié)點(diǎn)對(duì)總線無(wú)影響。PAC82C250的主要特性有: ? 完 全符合 “ISO11898” 標(biāo)準(zhǔn)。對(duì) CR的第二次寫訪問(wèn)是清除復(fù)位請(qǐng)求位,使 SJA1000返回工作模式。開放接收、出錯(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 。由于 SJA1000是低電平復(fù)位,而 AT89C51是高電平復(fù)位,所以兩者的復(fù)位端接法不同。由于在待機(jī)方式下,接收器是慢速的,因此,第一個(gè)報(bào)文將被丟失。建議使用屏蔽電纜以避免射頻干擾問(wèn)題。該設(shè)計(jì)中之所以選擇 82C250芯片,是因?yàn)槠渚哂懈咚傩裕ㄗ罡呖蛇_(dá) 1 Mbps),具有抗瞬間干擾保護(hù)總線的能力,具有降低射頻干擾的斜率控制。當(dāng)接收 FIFO不空和接收中斷使能時(shí)置位此位 0 復(fù)位。退出睡眠模式時(shí)此位被置位 0 復(fù)位。自從最后一次清除數(shù)據(jù)溢出命令執(zhí)行,無(wú)數(shù)據(jù)溢出發(fā)生 RBS 接收緩沖 器狀態(tài) 1 滿。沒(méi)有要發(fā)送的信息 RS 接收狀態(tài) 1 接收。無(wú)動(dòng)作 TR 發(fā)送請(qǐng)求 1 當(dāng)有。對(duì)于錯(cuò)誤狀態(tài)位,當(dāng)至少有一個(gè)錯(cuò)誤計(jì)數(shù)器滿或超出 CPU警告限制( 96)時(shí),錯(cuò)誤狀態(tài)位被置位。將睡眠模式位置為 1, SJA1000進(jìn)入睡眠模式,此時(shí)沒(méi)有總線活動(dòng),沒(méi)有中斷等待。此中斷信號(hào)被禁止 CR0 RR 復(fù)位請(qǐng)求 1 當(dāng)前。 表 1 控制寄存器各位說(shuō)明( CR): CAN地址 0 位 符號(hào) 名稱 值 功 能 CR7 保留 CR6 保留 CR5 保留 CR4 OIE 溢出中斷使能 1 使能。這兩種模式分別是復(fù)位模式和工作模式。 SJA1000 具有很多新的功能,修改了兩種模式:Basic CAN模式、 PCA82C200兼 容模式;增加了 Peli CAN模式,此模式支持 CAN ( 29字節(jié)的識(shí)別碼)。 RX0、 RX1:從物理 CAN總線輸入到 SJA1000的輸入比較器。下面介紹 PHILIPS 半導(dǎo)體公司推出的 CAN總線控制器 SJA1000,并給出其應(yīng)用實(shí)例。 表 32 輸出控制寄存器的設(shè)置 本課題設(shè)置的是正常輸出模式,在正常輸出模式中位序列 (TXD)通過(guò) TX0 和 TX1 送出,輸出驅(qū)動(dòng)引腳TX0和 TX1的電平取決于被 OCTPX, OCTNX(懸空,上拉,下拉,推挽 )編程的驅(qū)動(dòng)器的特性和被 OCPOLX編程的輸出端極性。 總線定時(shí)寄存器 0的位功能說(shuō)明: 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ù)據(jù)字節(jié)長(zhǎng)度范圍是 08編碼形式如下: 數(shù)據(jù)字節(jié)數(shù) =8+4+2+ 標(biāo)準(zhǔn)幀格式( SFF)的識(shí)別碼有 11 位( ), ,在總線仲裁過(guò)程中最先發(fā)送到總線上,別碼就象信息的名字一樣,使用在驗(yàn)收濾波器中,而且在仲裁過(guò)程中決定了總線訪問(wèn)的優(yōu)先權(quán),識(shí)別碼的二進(jìn)值越低優(yōu)先權(quán)越高。在 PeliCAN 模式下主要對(duì)下面一些寄存器操作:模式寄存器、命令寄存器、狀態(tài)寄存器、中斷寄存器、驗(yàn)收代碼寄存器、驗(yàn)收屏蔽寄存器、總 線定時(shí)寄存器 0、總線定時(shí)寄存器 輸出控制寄存器、發(fā)送緩沖器、接收緩沖器、時(shí)鐘分頻器。 的位速率最高可達(dá) 1Mbps。 3. 發(fā)送緩沖器 (TXB)是 CPU 和位流處理器 BSP 之間的接口,能夠存儲(chǔ)發(fā)送到 CAN 網(wǎng)絡(luò)上的完整信息,緩沖器長(zhǎng) 13個(gè)字節(jié),由 CPU寫入 BSP讀出。 以上介紹的 CAN 總線的一些概念,說(shuō)明了 CAN的工作原理和為什么能形成高效率和高可靠性現(xiàn)場(chǎng)總線網(wǎng)絡(luò)的原因。錯(cuò)誤計(jì)數(shù)器不會(huì)增加。為了能正確地終止錯(cuò)誤幀,一種 “ 錯(cuò)誤認(rèn)可 ” 的節(jié)點(diǎn)要求總線至少有長(zhǎng)度為 3個(gè)位時(shí)間的總線空閑 (如果 “ 錯(cuò)誤認(rèn)可 ” 的接 收器有本地錯(cuò)誤的話 )。數(shù)據(jù)字節(jié)的允許使用數(shù)目為 0~8,不通用其他數(shù)值。所有站都必須同步于首先開始發(fā)送的那個(gè)站的幀起始前沿。標(biāo)準(zhǔn)幀的標(biāo)識(shí)符長(zhǎng)度為位而擴(kuò)展幀的長(zhǎng)度則為 29位。 CAN技術(shù)規(guī)范 MAC子層和 LLC子層的一部分,并描述與 CAN有關(guān)的外層。 ? CAN上的節(jié)點(diǎn)主要取決于總線驅(qū)動(dòng)電路,目前可達(dá) 110個(gè);報(bào)文標(biāo)識(shí)符可 達(dá) 2032種 (),而擴(kuò)展標(biāo)準(zhǔn) ()的報(bào)文標(biāo)識(shí)符幾乎不受限制。處于優(yōu)先級(jí)低的節(jié)點(diǎn)會(huì)主動(dòng)停止發(fā)送,以此來(lái)避免總線沖突。其好處是可在線上網(wǎng)下網(wǎng)、即插即用和多站接收;二是特別強(qiáng)化數(shù)據(jù)安全,可滿足控制系統(tǒng)及其它較高數(shù)據(jù)要求的系統(tǒng)需求。 CAN節(jié)點(diǎn)的 80%應(yīng)用于車輛,其余應(yīng)用于嵌入式網(wǎng)絡(luò)和工業(yè)控制系統(tǒng),如工廠控制系統(tǒng)、機(jī)器人控制系統(tǒng)、監(jiān)測(cè)系統(tǒng)、機(jī)床控制系統(tǒng)等。因而用 CAN 總線取代 RS485總線將是大勢(shì)所趨。它不僅是一個(gè)基層網(wǎng)絡(luò),而且還是一種開放式、新型全分布控制系統(tǒng)。本課題的最終目的是達(dá)到對(duì)現(xiàn)場(chǎng)總線控制系統(tǒng)的掌握和應(yīng)用,并且掌握用電子硬件開發(fā)的思路和方法,培養(yǎng)和提高個(gè)人的獨(dú)立科研及設(shè)計(jì)能力。 CAN總線專用接口芯片中以固件形式集成了 CAN 協(xié)議的物理層和數(shù)據(jù)鏈路層功能:可完成對(duì)通信數(shù)據(jù)的成幀處理,包括:位填充、數(shù)據(jù)塊編碼、循環(huán)冗余校驗(yàn)、優(yōu)先級(jí)判別等多 項(xiàng)工作。 1991年 9月 Philips Semiconductors制訂并發(fā)布了 CAN技術(shù)規(guī)范 ()。同一段總線內(nèi)最多可掛接 110個(gè)設(shè)備。 ? CAN 網(wǎng)絡(luò)上的節(jié)點(diǎn)信息分成不同的優(yōu)先級(jí),可滿足不同的實(shí) 時(shí)要求,高優(yōu)先級(jí)的數(shù)據(jù)最多可在 134us內(nèi)得到傳輸。 ? CAN 的通信介質(zhì)可為雙絞線、同軸電纜或光纖,選擇靈活。 MAC 子層子層是 CAN協(xié)議的核心,它描述由 LLC 子層接收到的報(bào)文和對(duì) LLC 子層發(fā)送的認(rèn)可報(bào)文。 錯(cuò)誤幀:任何節(jié)點(diǎn)檢測(cè)到總線錯(cuò)誤就發(fā)出錯(cuò)誤幀。在標(biāo)準(zhǔn)格式中,仲裁場(chǎng)由 11位標(biāo)識(shí)符和遠(yuǎn)程發(fā)送請(qǐng)求位 RTR組成,標(biāo)識(shí)符為 ~,如圖 23所示: 圖 23 仲裁場(chǎng) 而在擴(kuò)展格式中,仲裁場(chǎng)由 29位標(biāo)識(shí)符、遠(yuǎn)程請(qǐng)求 SRR位、標(biāo)識(shí)位( IDE)和遠(yuǎn)程發(fā)送請(qǐng)求位(RTR)組成,標(biāo)識(shí)符位為 ~,如圖 24所示: 圖 24 仲裁場(chǎng) 3) 控制場(chǎng)由 6位組成。 遠(yuǎn)程幀 遠(yuǎn)程幀由 6個(gè)不同的位場(chǎng)組成:幀起始、仲裁場(chǎng)、控制場(chǎng) CRC場(chǎng)、應(yīng)答場(chǎng)和幀結(jié)束。活動(dòng)錯(cuò)誤標(biāo)志由 6個(gè)連續(xù)的 “ 顯性 ” 位組成,認(rèn)可錯(cuò)誤標(biāo)志由 6個(gè)連續(xù)的 “ 隱性 ” 的位組成,除非被其他節(jié)點(diǎn)的 “ 顯性 ” 位重寫。仲裁期間,每個(gè)進(jìn)行發(fā)送的 CAN 控制器都將發(fā)送的位電平與監(jiān)控總線電平進(jìn)行比較,任何發(fā)送一個(gè)隱性位而監(jiān)視到一個(gè)顯性位電平 的 CAN 控制器立即變成總線上較高優(yōu)先權(quán)報(bào)文的接收器,而不破壞總線上的任何信息。 CAN總線單片機(jī)監(jiān)控系統(tǒng)硬件設(shè)計(jì) . 1 SJA1000簡(jiǎn)介 目前市場(chǎng)上比較流行的 CAN總線器件有兩大類 :一是獨(dú)立的 CAN總線通信控制器,如 SJA1000。 6. 位時(shí)序邏輯 (BTL)監(jiān)視串行 的 CAN總線和位時(shí)序,它是在一條報(bào)文開頭,總線傳輸出現(xiàn)隱性到顯性時(shí)同步于 CAN總線上的位流 (硬同步 ),并且在其接收一條報(bào)文的傳輸過(guò)程中再同步 (軟同步 )。設(shè)計(jì)中,SJA1000的地址 /數(shù)據(jù)總線 AD0~AD7分別連接到 C8051F310的 P2口, CS連接到 C8051F310的 ,微處理器以訪問(wèn)外部存儲(chǔ)器的方式來(lái)訪問(wèn) SJA1000,可對(duì) SJA1000執(zhí)行相應(yīng)的讀 /寫操作, SJA1000的 RD、 WR、 ALE分別與 C8051F310的 , ,, INT接 C8051F310的 , RST接 C8051F310的 引腳。 狀態(tài)寄存器( SR)的內(nèi)容反映了 SJA1000的狀態(tài),狀態(tài) 寄存器對(duì)微控制器來(lái)說(shuō)是只讀存儲(chǔ)器。 RXFIFO共有 64個(gè)信息字節(jié)的空間,一次可以存儲(chǔ)多少條信息取決于數(shù)據(jù)的長(zhǎng)度,如果 RXFIFO中沒(méi)有足夠的空間來(lái)存儲(chǔ)新的信息, CAN控制器會(huì)產(chǎn)生數(shù)據(jù)溢出條件,此時(shí)信息有效且接受檢測(cè)為肯定發(fā)生數(shù)據(jù)溢出情況時(shí),已部分寫入 RXFIFO的信息將被刪除,這種情況可以通過(guò)狀態(tài)寄存器和數(shù)據(jù)超限中斷(中斷允許)反應(yīng)到 CPU。 ~ 與 ~ 1(TSEG1)和時(shí)間段 2(TSEG2)的位; TSEG1和 TSEG2決定了每一位的時(shí)鐘數(shù)目和采 樣點(diǎn)的位置。 課題中 CAN 控制器工作于 PeliCAN模式,只有接收引腳 TX0被激活,禁能 SJA1000的外部 CLKOUT引腳。 SJA1000 增加了一種新的工作模式( Peli CAN),這種模式支持具有很多新特性的 CAN 協(xié)議。 INT是開漏輸出。 SJA1000復(fù)位,默認(rèn)為 Basic CAN械,或者通過(guò)時(shí)鐘分頻寄存器的 CAN模式位來(lái)選擇模式。這 32個(gè)字節(jié)可分為控制段( 10字節(jié))、發(fā)送緩沖器段( 10字節(jié))、接收緩沖器段( 10字節(jié))、時(shí)鐘分頻器和 1 個(gè)無(wú)效字節(jié)。若出錯(cuò)或總線狀態(tài)改變,此中斷信號(hào)有效 0 禁止。如果要把復(fù)位請(qǐng)求位置為 0,微控制器必須先檢查這一位,以確定外部復(fù)位引腳不為低電平。在釋放接收緩沖器命令的同時(shí),可以發(fā)出清除數(shù)據(jù)溢出命令。若沒(méi)有 CAN中斷等待和總線活動(dòng), SJA1000進(jìn)入睡眠模式 0 喚醒。 SJA1000退出總線活動(dòng) 0 總線開啟。最近一次發(fā)送請(qǐng)求被成功處理 0 未完畢。當(dāng)寄存器的 1位或多位被置位時(shí), INT(低電平有效)引腳被激活。微控制器的任何讀訪問(wèn)清除此位 EI 錯(cuò)誤中斷 1 置位。下面從硬件電路和軟件設(shè)計(jì)兩部分來(lái)介紹。在總線兩端要接 2個(gè) 120Ω 的 總線阻抗匹配電阻。為降低射頻干擾,應(yīng)限制上升和下降斜率。 CAN總線接口電路 SJA1000 硬件接口原理圖如圖 l 所示。為了增強(qiáng) CAN總線節(jié)點(diǎn)的抗干擾能力,本設(shè)計(jì)采用 SJA1000的具有光電隔離的 CAN總線接口。 報(bào)文接收條件:接收代碼位( ~ )和信息識(shí)別碼的高 8位( ~ )相等,且與接收屏蔽位( AM7~ )的相應(yīng)位相或?yàn)?1,則報(bào)文被接收。因本系統(tǒng)傳輸距離近,環(huán)境干擾小,可以不用電流隔離,這樣可以直接把 82C250的 Vref端 (約為 Vcc)與 SJA1000的 RX1相連,從而簡(jiǎn)化了電路設(shè)計(jì)。 ? 斜率控制,降低射頻干擾 (RFI)。 PCA82C250 的主要功能有:首先 P82C250 驅(qū)動(dòng)電路內(nèi)部具有限流電路,可以防止輸出級(jí)對(duì)電源、地或負(fù)載短路,雖然在這種故障條件出現(xiàn)時(shí)功耗增加,但不致使輸出級(jí)破壞。應(yīng)限制上升和下降斜率,上升和下降斜率可通過(guò)由引腳 8 至地連接的電阻進(jìn)行控制。 CAN總線監(jiān)控系統(tǒng)軟件設(shè)計(jì) SJA1000初始化流程圖 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)上電后首先對(duì) 82C250和 SJA1000進(jìn)行初始化。其中,表示符位 是最高位,發(fā)送時(shí)最高位先發(fā)送。 write_byte(sja1000_TX_Buffer1,temp[1])。/*循環(huán)等待發(fā)送完畢狀態(tài)位的狀態(tài)為 :完畢 。 if(readback_data_sjaamp。//循環(huán)等待接收中斷位復(fù)位 。 sbit READ_sja = P3^2。 uchar send_frame30[4]={0x01,0x03,0x00,0x04}。 void SJA1000_Send_frame(uchar *temp)。 BUFFER=1。 delay(1000)。 } while(BUTTON==0)。 } } if(lin1) } BUFFER=1。 P0MDIN=0xFF。 } void delay(uint time1) { uint lin1,lin2。 ALE_sja=1。 delay(1)。 delay(2)。 WRITE_sja=1。 delay(100)。 write_byte(sja1000_CDR,0xc8)。 write_byte(sja1000_AMR2,0xFF)。 write_byte(sja1000_CMR,0x04)。0x08==0)。 do { readback_data_sja=read_byte(sja1000_IR)
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1