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

正文內(nèi)容

基于smallrtos51的can總線漢字火災樓層顯示盤設(shè)計-資料下載頁

2025-06-22 01:29本頁面
  

【正文】 不用太復雜的協(xié)議。2. 所有節(jié)點基本上都由用戶自行設(shè)計,不需要與標準設(shè)備進行接口。3. 為了保密,防止其他廠商對產(chǎn)品的抄襲。4. 應用環(huán)境特殊,性能要求特殊,不同于常見的CAN總線網(wǎng)絡(luò)。如果是自定義 CAN 總線的應用層協(xié)議,為了產(chǎn)品性能的保證,要遵循以下一些基本原則和設(shè)計要點[10]:22華 中 科 技 大 學 碩 士 學 位 論 文(1)消息 ID 分配CAN總線協(xié)議并沒有規(guī)定消息ID的分配原則,用戶可以根據(jù)不同的應用場合制定不同的ID分配策略。CAN的消息ID是幀的唯一標志,同時也標志了消息優(yōu)先權(quán)。因此在設(shè)計基于CAN的通信系統(tǒng)時,消息ID分配的設(shè)計方案是最重要的,這也是CAN高層協(xié)議的主要內(nèi)容之一。消息分配機制同時也影響消息過濾、通信結(jié)構(gòu)以及ID的利用率。(2)過程數(shù)據(jù)交換CAN設(shè)備間的過程數(shù)據(jù)的高效傳輸是基于CAN總線的分布式系統(tǒng)通信的主要任務(wù)。通常采用生產(chǎn)者/消費者模型,數(shù)據(jù)的含義由相應的ID說明,消息的生產(chǎn)者和相應的消費者應該知道數(shù)據(jù)的含義。(3)對等通信通道對CAN設(shè)備進行設(shè)置時,需要特定的函數(shù)或程序完成多用途通信通道的建立。這種通信通道對實時性要求不是很高,用來在兩臺設(shè)備(如設(shè)置工具和待設(shè)置的設(shè)備)間建立連接,數(shù)據(jù)的傳輸需要用應答分段協(xié)議來完成。所有支持一定設(shè)備設(shè)置功能的應用層都提供對等通信通道。(4)過程數(shù)據(jù)消息連接的建立在CAN網(wǎng)絡(luò)中通過對發(fā)送消息(消息生產(chǎn)者提供)和接收消息(消息消費者提供)分配1D進行通道建立,可以對己經(jīng)分配ID的消息進行預定義,也可以動態(tài)分配ID。在消息預定義的系統(tǒng)中消息的ID及其含義是事先設(shè)定好的。(5)網(wǎng)絡(luò)管理分布式應用中網(wǎng)絡(luò)管理的任務(wù)主要是網(wǎng)絡(luò)中故障檢測和指示以及用來控制分布式節(jié)點通信狀態(tài)的相關(guān)服務(wù),根據(jù)解決方案的不同,可以是獨立的管理模塊也可以隱含在其它功能模塊中提供。(6)設(shè)備模型及設(shè)備框架說明(profiles)對于協(xié)議開放式系統(tǒng),除了通信協(xié)議的標準化外,還要求同類設(shè)備的互操作性和互換性,因此基于CAN開放系統(tǒng)的高層協(xié)議(如DeviceNet, SDS和CANopen)都用設(shè)備模型的形式對設(shè)備功能進行了描述。為了提高同類設(shè)備的互換性,通過設(shè)備框架對工業(yè)自動化中一些主要的設(shè)備類別進行說明,這就保證了不同制造商的產(chǎn)品都具有同樣的一些基本的行為和屬性。除了設(shè)備的功能性描述外,設(shè)備模型還要提供設(shè)備類型、版本號、狀態(tài)、診斷信息、通信工具以及參數(shù)設(shè)置等的說明[10]。23華 中 科 技 大 學 碩 士 學 位 論 文3 系統(tǒng)總體方案設(shè)計 樓層顯示盤在火災報警系統(tǒng)中的位置在火災報警控制系統(tǒng)中,中央火警控制器通過 CAN 總線和各個單元進行實時通訊并完成各項控制和報警功能。單元是火災探測器、手動報警按鈕、輸入輸出模塊、樓層顯示盤等設(shè)備的總稱。它們是系統(tǒng)的終端設(shè)備,直接探測火災信號,并通過通道上報給控制器,同時接收由各種通道轉(zhuǎn)發(fā)控制器給單元的聯(lián)動信息(啟動終端輸入輸出模塊控制的滅火裝置)、顯示信息(樓層顯示盤顯示火災信息)等。通道是回路模塊、轉(zhuǎn)接模塊、專線控制盤和總線控制盤等設(shè)備的總稱。它們本身既不能探測火災信號、啟動滅火設(shè)備,也不能綜合所有信息進行人機交互。但它們是控制設(shè)備和終端設(shè)備的通道,是拓撲網(wǎng)絡(luò)構(gòu)成的中繼設(shè)備。缺少了它們控制器就無法控制海量的終端設(shè)備?;馂膱缶刂葡到y(tǒng)的總體結(jié)構(gòu)和樓層顯示盤在系統(tǒng)的中的位置如圖31 所示[10]。圖 31火災報警控制系統(tǒng)結(jié)構(gòu)及樓層顯示盤所在位置顯示 樓層顯示盤設(shè)計功能和要求本文設(shè)計的火災樓層顯示盤要求完成的功能是:1.技術(shù)功能上滿足火災樓層顯示盤的國家標準――《火災樓層顯示盤通用技術(shù)24華 中 科 技 大 學 碩 士 學 位 論 文條件 GB174291998》,能接收來自火災報警控制器的火災報警信號,發(fā)出聲、光報警信號,指示火災發(fā)生部位,并予以保持;光報警信號在火災報警控制器復位之前不能手動消除,聲報警信號應能手動消除,并有消音指示,但再次有火災報警信號輸入時,應能再啟動?;馂娘@示盤應能對面板上的所有指示燈,顯示盤和音響器件進行功能檢查。操作功能根據(jù)操作人員的不同劃分級別。對接收火災報警信號的輸入信號延時不超過 3 秒[19]。2.火災樓層顯示盤通過 CAN 總線和火災報警控制器相連。3.火災樓層顯示盤應能存儲多于 16 回路255 條=4096 條漢字地址信息,這些漢字地址信息能在線下載到火災樓層顯示盤中,方便現(xiàn)場修改調(diào)試。4.火災樓層顯示盤軟件用 C 語言編寫,并移植一個嵌入式實時操作系統(tǒng)。5.滿足國標要求的各項機械,電氣和電磁兼容性要求。 系統(tǒng)硬件方案選擇與設(shè)計目前,國內(nèi)現(xiàn)有的火災樓層顯示盤大都以 51 系列單片機作為 MCU。因為 51 系列單片機 ROM 尋址空間所限,無法存儲完整的國標漢字庫?;馂臉菍语@示盤大都只能顯示火警所在的樓層號和地址號,無法以詳細直觀的漢字地址信息來提示情況各異的具體火警地點。如果將漢字地址信息通過火警系統(tǒng)的現(xiàn)場總線分發(fā)到各個樓層顯示盤,巨大的漢字地址信息通訊又會給火警系統(tǒng)的現(xiàn)場總線帶來沉重的負荷,導致整個火警系統(tǒng)效率低下,延誤火警上報時機。我們提出的 CAN 總線漢字火災樓層顯示盤,利用大容量 Flash 分頁存儲所有的漢字地址信息,分析 CAN 總線上接收到的火警信息,根據(jù)樓層號和地址號,查表找出對應的漢字信息并在漢字液晶上顯示,較好的解決了現(xiàn)有火災樓層顯示盤的固有缺陷。而且,大容量 Flash 中的漢字信息可以通過串口在線擦寫,便于工程現(xiàn)場修改與調(diào)試,使用十分方便。如圖 32 所示,漢字火災樓層顯示盤主要包括單片機及其外圍電路,CAN 總線通訊模塊,大容量 Flash 存儲器,漢字液晶顯示模塊,UART 接口模塊,以及燈和按鍵,蜂鳴器。單片機可通過 UART 串口接收 PC 上傳下來的漢字信息,存儲到大容量 Flash 存儲器 29SF040 中,作為地址信息的查詢數(shù)據(jù)庫。單片機通過 CAN 控制器MCP2510 和 CAN 總線驅(qū)動器 PCA82C250 組成的 CAN 通信模塊和火災報警控制器進行 CAN 總線通信,接收火警信息和其他查詢信息,并回復登記信息等。如果有火警發(fā)生,單片機將會把火警信息記入 Flash 存儲器,查詢 Flash 得到火警發(fā)生的漢字25華 中 科 技 大 學 碩 士 學 位 論 文地址信息,并在漢字液晶模塊上滾動顯示火警和信息查詢結(jié)果。同時,發(fā)生火警時還可通過查詢鍵快速查詢火警信息,通過蜂鳴器報警,通過消音鍵消音,并點亮發(fā)光二極管報警。未發(fā)生火警時,也可通過自檢鍵自檢,以檢查各個功能是否能正常工作。電源蜂鳴器消音燈火警燈漢字液晶模塊單片機UART串口Flash存儲器29SF040消音鍵自檢鍵查詢鍵CAN控制器MCP2510CAN總線驅(qū)動器PCA82C250圖 32漢字樓層顯示盤硬件結(jié)構(gòu)框圖 系統(tǒng)軟件方案選擇與設(shè)計在激烈的市場競爭中,往往要求開發(fā)者用最短的時間把產(chǎn)品開發(fā)出來,這樣往往導致產(chǎn)品的不穩(wěn)定和維護的困難。在保證性能的前提下提高開發(fā)的效率,降低維護程序的難度,一直是產(chǎn)品軟件開發(fā)的終極目的。因為 C 語言比匯編語言更加接近人的思維習慣,而且更加高效,所以在嵌入式開發(fā)中使用 C 語言開發(fā)產(chǎn)品的確會提高開發(fā)效率,也能提高產(chǎn)品的可維護性。但是僅僅依靠編程語言的提升是遠遠不夠的,建立嵌入式的開發(fā)平臺才能夠事半功倍。嵌入式開發(fā)平臺需要作一些移植的工作,但是這些“額外”的開銷可以使開發(fā)更加容易,屏蔽一些硬件的相關(guān)性,甚至不同硬件平臺上的產(chǎn)品在 RTOS 的基礎(chǔ)上進行移植也是輕而易舉的,這對于產(chǎn)品的升級換代有著極大的方便。26華 中 科 技 大 學 碩 士 學 位 論 文 樓層顯示盤 RTOS 的選擇由于成本所限,火災樓層顯示盤不可能采用過于高檔的嵌入式處理器,目前基于 51 單片機的 RTOS 有三種可能的選擇:1.Keil C51 開發(fā)包中自帶的 RTX Full 和 RTX Tiny。2.移植到 8051 平臺的 181。C/OSⅡ。3.廣州周立功公司專門為 51 單片機系統(tǒng)開發(fā)的 Small RTOS51。RTX51 是一個用于 8051 系列單片機的多任務(wù)實時操作系統(tǒng)。Keil 公司提供了兩個不同的 RTX51 版本。其中 RTX51 Full 使用四個任務(wù)優(yōu)先級完成同時存在時間片輪轉(zhuǎn)調(diào)度和占先的任務(wù)切換。RTX51 工作在與中斷功能相似的狀態(tài)下,信號和信息可以通過郵箱系統(tǒng)在任務(wù)之間互相傳遞。我們可以從一個存儲池中分配和釋放內(nèi)存,可以強迫一個任務(wù)等待中斷、超時,或者從另一個任務(wù)或中斷發(fā)出信號,信息。而RTX51 Tiny 則是一個 RTX51 的子集,可以很容易地在沒有任何外部存儲器的單片8051 系統(tǒng)上運轉(zhuǎn),但它僅支持時間片輪轉(zhuǎn)任務(wù)切換和使用信號進行任務(wù)切換(即非搶占式的),不支持搶占式的任務(wù)切換,不包括消息隊列,沒有存儲器池分配程序[20][21]181。C/OSⅡ是著名的源碼公開的實時內(nèi)核,可用于各類 8 位,16 位到 32 位單片機或 DSP,以及嵌入式處理器。從 181。C/OS 算起,該內(nèi)核已經(jīng)有十幾年的應用史,并在諸多領(lǐng)域獲得了廣泛的應用。181。C/OSⅡ是一個完整的,可移植,可固化和可剪裁的占先式實時多任務(wù)內(nèi)核。181。C/OSⅡ是用 ANSI C 語言編寫的,包括一小部分匯編代碼,使之可以方便的供不同架構(gòu)的微處理器使用。至今,從 8 位到 64 位,181。C/OSⅡ已在超過 40 種不同架構(gòu)的微處理器上成功運行[12]。8051 系列單片機一般只有很少的 ROM 和 RAM 資源,如 P89S52 只有 8KB Flash和 256 字節(jié)的 RAM。但是 RTX51 Full 自身代碼有 6K 多字節(jié),且需要大量的外部RAM,并且 Keil 公司并未公開其源代碼,既不實用又不利于學習。RTX51 Tiny 雖然小(自身僅占用 900 多字節(jié)的 ROM),但是任務(wù)沒有優(yōu)先級和中斷管理,也沒有源代碼,實用性也不強(目前 Keil 公司已將其 RTX51 Tiny 的匯編源碼提供給其正版用戶),不利于學習。181。C/OSⅡ的好處是其源碼公開,也有相當多的移植成功示范,書籍也比較多和全,利于學習。但它本身并不是為 51 單片機系統(tǒng)開發(fā)的,規(guī)模太大,且需要大量的外部 RAM,而且所有的函數(shù)必須是可重入函數(shù),用在 8051 這類片內(nèi) RAM資源很小的單片機上有些勉強,并不太實用[12][21]。27。華 中 科 技 大 學 碩 士 學 位 論 文廣州周立功公司的陳明計專門為 51 系列單片機開發(fā)了一個微型的 RTOS,也就是 Small RTOS51。它使用了 RTX51 Tiny 的堆棧管理機制,并像 181。C/OSⅡ一樣是搶占式的任務(wù)管理。雖然它是為 51 單片機所寫,但是也很容易移植到其他 CPU 上。Small RTOS51 的所有版本均可以免費在任何領(lǐng)域使用,只要遵循其許可證[22]。SmallRTOS51 的功能介于 RTX51 和 181。C/OSⅡ之間,它既保持了 RTX51 的微型化內(nèi)核,使得對 51 硬件資源需求很小,不需要另外配置更大的 RAM,同時也有 181。C/OSⅡ的搶占式內(nèi)核功能,畢竟,只有搶占式的內(nèi)核才被認為是真正的實時內(nèi)核。我們正是基于以上目的,選用了 Small RTOS51 作為我們火災樓層顯示盤的RTOS 平臺。 軟件設(shè)計方案和工作流程漢字樓層顯示盤軟件完成的功能主要是: Flash 存儲(設(shè)備初始化時需要)。 CAN 通信,如果發(fā)現(xiàn)有火警信息,則查找 Flash 中的漢字地址信息,予以顯示在漢字液晶上報警,如果有多條火警信息,則要滾動顯示各條信息。圖 33 是漢字樓層顯示盤的軟件功能結(jié)構(gòu)框圖。用 page(值為 07)表示讀寫的Flash 頁,用 count(值為 065535)表示本頁的頁內(nèi)地址。其中 page0page6 用來存儲通過串口下載的漢字信息,page7 用來存儲接收到的火警和樓顯 CAN 通信地址等動態(tài)信息。一旦接收到新火警,即對應查詢 Flash 中相應的漢字信息,并在漢字液晶上滾動顯示。為了快速定位所查詢的火警漢字地址信息,我們在 Flash 中采用的是線性表的數(shù)組結(jié)構(gòu),盡管這樣會因為實際的火警地址不等長,而造成存儲中出現(xiàn)一些空的地址,導致存儲效率不高。但是,我們對數(shù)組的查找是一種可以直接定位的快速查找,不用采用鏈表之類的復雜數(shù)據(jù)結(jié)構(gòu),也避免了二分檢索之類復雜的搜索算法,對于單片機而言,實質(zhì)上是以比較小的空間為代價換來了比較高的時間效率,還是十分值得的。28華 中 科 技 大 學 碩 士 學 位 論
點擊復制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1