www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導讀]介紹一種應用于單片機洲試系統(tǒng)的鏈式存儲結構,其特點在于采用數據結構的存儲方式,并結合有效的存儲管理方法對系統(tǒng)的存儲空間進行管理和分配,從而在普通的單片機測試系統(tǒng)中實現了對大量測試結果的抽象化數據管理

摘要 介紹一種應用于單片機洲試系統(tǒng)的鏈式存儲結構,其特點在于采用數據結構的存儲方式,并結合有效的存儲管理方法對系統(tǒng)的存儲空間進行管理和分配,從而在普通的單片機測試系統(tǒng)中實現了對大量測試結果的抽象化數據管理,便于系統(tǒng)進行數據保存、數據刪除、數據查詢以及與上位機的數據傳輸等各項操作,增強了系統(tǒng)的可靠性和可繼承性。
關鍵詞 鏈式存儲結構 數據存儲管理 單片機測試系統(tǒng)


引 言
    在自動化測試領域里,單片機測試系統(tǒng)憑借其成熟的應用體系,簡單的系統(tǒng)結構以及優(yōu)良的性價比得到了越來越廣泛的應用。近年來,隨著新的測試對象不斷出現,以及測試手段的不斷發(fā)展,測試系統(tǒng)的功能越來越完善,各種應用場合對測試系統(tǒng)的要求也日益提高?,F在的太多數測試系統(tǒng)不僅要完成工業(yè)現場的實時測控任務,同時還要進一步實現對測試數據的實時處理和保存。以往在一般的單片機測試系統(tǒng)中,信息的存儲量并不大,系統(tǒng)只須用較少的資源就能實現數據的存儲。但是隨著存儲芯片技術的不斷發(fā)展,適用于單片機系統(tǒng)的存儲芯片已經可以在掉電保護的情況下保存上百KB甚至幾MB的數據;同樣,目前的單片機測試系統(tǒng)也面臨動輒處理并保存上千條乃至近萬條測試數據的問題。這對一般的缺少操作系統(tǒng)支持的單片機測試系統(tǒng)來說,是一項相當復雜的工作,因而目前的測試系統(tǒng)往往只能針對具體數值對象進行處理,對大量采集數據采取簡單的順序存儲方式。顯然,這種方法缺少靈活性,不利于單片機測試系統(tǒng)處理大量測試數據,限制了測試系統(tǒng)在這方面的發(fā)展。
    本文主要針對處理測試數據量較大的一類測試系統(tǒng),討論測試數據的存儲和管理問題。這類測試系統(tǒng)往往由抗干擾能力較強的單片機和大容量、掉電保護的存儲芯片組成,同時配有高精度數字式傳感器;造價便宜,性能穩(wěn)定,適合工作在工業(yè)現場,保存和處理大量測試數據,有的甚至能夠與上位機組成測控網絡完成更為復雜的測試任務。本文將介紹一種應用于單片機測試系統(tǒng)的鏈式存儲方式,能夠在工業(yè)現場進行實時測控的同時,實現對大量測試數據的保存和管理,在實際應用中取得了良好的效果。


1 大容量單片機測試系統(tǒng)中的存儲結構
   
在大多數自動測試系統(tǒng)中,測試數據的邏輯結構一般都會遵循線性邏輯關系,即數據元索在時問或者空間順序上只分先后次序而不存在上下層次。因此在設計存儲結構時往往采用順序存儲結構,其優(yōu)點在于處理線性數據結構時速度快,而且結構簡單。
    但是上述情況在前文所述的大容量測試系統(tǒng)中并不是普遍適用的。大容量測試系統(tǒng)雖然同樣是線性邏輯結構,但其測試數據變化多樣,構成數據元素的內部結構也非常復雜,而且系統(tǒng)又要執(zhí)行數據保存和數據查詢等多項指令操作,如果再應用順序存儲結構就會面臨許多問題。
    首先,測試系統(tǒng)經常會面臨一些較為特殊的測試對象。其測試信息較為復雜且數據長度不固定,顯然不利于采用順序存儲結構。假設系統(tǒng)按照時間或空間上的邏輯順序來進行順序存儲,那么對存儲空間的分配將成為難題。若分配空間過大,則影響存儲效率;反之,又會出現數據溢出的情況。類似地,假設系統(tǒng)能夠安排好數據的存放空間,在進行數據查詢、數據刪除等操作時系統(tǒng)也會顯得力不從心。
    其次,采用順序存儲結構不能很好地處理抽象數據類型。系統(tǒng)在進行數據保存、數據查詢以及數據刪除等操作時都要考慮數據元素的長度和內容,不能做到靈活、有效,當系統(tǒng)需要修改或升級時,對數據元素內部結構的修改又會影響到系統(tǒng)的整體操作,從而降低了系統(tǒng)的可靠性和高效性,同時使得系統(tǒng)進行維護和升級的難度大大增加。
    綜上所述,順序存儲結構并不能解決大容量測試系統(tǒng)在存儲和管理數據時面臨的所有問題,因此在實際操作中必須考慮非順序存儲結構的應用。長久以來,在單片機系統(tǒng)中較少采用諸如鏈式存儲結構等非順序存儲結構,原因在于鏈式存儲結構必須有一套專門的存儲管理系統(tǒng)來支持。在通用計算機中,這一功能由操作系統(tǒng)或高級語言的編譯系統(tǒng)來實現,但在普通單片機系統(tǒng)中沒有成熟的應用案例,因而使程序設計的難度較高。下面介紹一種應用于大容量單片機系統(tǒng)的存儲管理系統(tǒng),能夠支持大容量單片機測試系統(tǒng)的應用鏈式存儲方式。

2 大容量測試系統(tǒng)的存儲管理系統(tǒng)
   
對于采用鏈式存儲結構的大容量測試系統(tǒng),鏈表中各結點的物理地址是不固定的。為避免在保存數據時可能出現的存儲空間沖突問題,需要建立專門的存儲管理系統(tǒng)來管理存儲空間的開辟和釋放。其中,數據引導表是存儲管理系統(tǒng)的基礎,負責記錄存儲空間中各個數據元素的存儲信息。利用數據引導表,同時配合實現開辟空間、釋放空間等操作的函數,測試系統(tǒng)能夠實現對大量存儲空間的有效管理。
2.1 數據引導表
   
建立數據引導表,就是建立一種鏈表中各結點與其相應物理地址之間的聯(lián)系,規(guī)范每個結點對存儲空間的使用。在測試系統(tǒng)中,引導表只是占用存儲空間內劃分的一段固定區(qū)域,其記錄對象是一段已被分配占用的連續(xù)地址空間的首地址和末地址,標志著保存在存儲空間上的某個結點所分配占用的空間大小,稱為一個“記錄”。各個記錄在引導表中的物理地址是連續(xù)的,并且按照每個記錄首地址的大小依次排列。數據引導表工作原理如圖l所示。

    在初始狀態(tài)時,內存引導表只有2個記錄,表明整個存儲空間的首地址和末地址,此時整個頁面空間沒有存儲任何測試數據。一旦有新的結點需要在這一空間上保存,CPU將為該結點開辟一段連續(xù)的存儲區(qū)間供其使用,并將該段空間的首地址和末地址作為一個記錄寫入內存引導表中。同樣的當系統(tǒng)需要在某一頁面上刪除一個鏈表中的結點時,CPU將其對應的記錄在內存引導表中刪除,以此來釋放此段地址空間。值得說明的是,對于在引導表中被釋放的存儲空間部分,其保存的內容并投有真正刪除;在新的數據覆蓋該地址之前,CPU還是可以通過直接訪問該地址來讀取其中的存儲數據。

2.2 管理存儲空間的函數
   
一般來講,在通用計算機中往往利用C語言中的標準庫函數malloc()、realloc()和free()來實現對存儲空間的分配和管理,但這種方式對于一般的大容量測試系統(tǒng)并不合適。
    假設在前文所述的大容量測試系統(tǒng)中,系統(tǒng)采用16位地址的單片機,利用分頁存儲模式對512 KB掉電保護存儲器進行訪問。將存儲器分為16個頁面(00H~0FH),每個頁面地址為0000H~7FFFFH,共計32 KB。此時系統(tǒng)利用malloc()可以在未被使用的空間中開辟一段存儲空間,但是該函數返回的地址指針是隨機的,有可能將空間分配在系統(tǒng)無法識別的區(qū)問(如7FFFH~FFFFH),因此不能滿足需要。另外,由于系統(tǒng)中存儲器具有掉電保護功能,CPU在重新上電后將無法識別已保存測試數據的存儲空間,從而使malloc()函數失去意義。因此,還是以數據引導表為摹礎來建立存儲空間的管理函數。其具體功能的實現都依賴于函數對數據引導表中各個記錄的操作,程序如下:

   
    以m_alloc()函數為例,其程序流程圖如圖2所示。

    當系統(tǒng)需要為某一結點開辟存儲空間時。首先給出指定的存儲空間頁面page和需要開辟空間的長度size,然后通過m_alloc()函數在相應頁面的引導表內查詢是否有合適的存儲空間。由于引導表中每個記錄都代表一段已被分配的連續(xù)的地址區(qū)間,因此m_alloc()函數會從第一個記錄開始判斷每兩個相鄰記錄之間未被分配空間的長度是否滿足系統(tǒng)的需要。當有一對記錄滿足條件時,m_alloc()函數會返回該段未被分配存儲空間的首地址(即前一個記錄的末地址)指針.同時在這兩個記錄中間插入此次開辟空間段的新記錄。如果該頁面引導表的所有記錄都不滿足條件,則m_alloc()函數返回空指針。re_alloc()函數和m_free()函數分別完成重新分配指定首地址的一段存儲空間和刪除指定首地址的一段存儲空間的操作。其功能和用法與m_alloc()類似,不再贅述。


3鏈式存儲結構和存儲管理系統(tǒng)在實際操作中的應用
    利用上文所述的存儲管理系統(tǒng)可以實現在大容量測試系統(tǒng)中應用鏈式存儲結構,這樣做的好處在于能夠有效地簡化系統(tǒng)存儲數據的過程,有利于執(zhí)行多項指令操作,提高系統(tǒng)存儲空間的利用率。
3.1 SF6密度繼電器校驗系統(tǒng)
    如圖3所示,SF6密度繼電器校驗系統(tǒng)由51系列單片機、512 KB掉電保護存儲器、打印機、時鐘系統(tǒng)和LCD組成,配有高精度的數字式壓力傳感器和溫度傳感器,可以通過485總線與上位機通信。該系統(tǒng)能夠對不同類型的密度繼電器進行校驗,滿足各種額定參數和接點數目的需要,在校驗過程中實現實時顯示、打印數據等多項功能;對同一繼電器能夠保存多組校驗數據,最多可保存4 000多條校驗數據;對于所有的校驗記錄,都可以隨時進行查詢;另外,在與上位機進行通信時,有相應的上位機軟件對下位機系統(tǒng)進行的數據傳輸、存儲器空間查詢和數據刪除等操作。

    具體來講,SF6密度繼電器校驗系統(tǒng)以SF6密度繼電器作為校驗對象,校驗結果包含SF6氣體的壓力值和溫度值,因此將每個校驗對象的校驗結果抽象為一個數據元素,分別包括該校驗對象的測試信息(如測試日期,繼電器的測試序號、接點數目和額定參數信息)和一組或多組的測量值信息(如校驗次數、報警、閉鎖l、閉鎖2、超壓接點分別動作、返回時的壓力值和溫度值)。系統(tǒng)以每個數據元素為結點建立鏈式存儲結構,并通過上述的管理存儲系統(tǒng)來管理存儲空間的分配,這樣既能保證有效、合理地保存校驗數據,又能很好地實現數據查詢、數據刪除以及與上位機通信等操作,使系統(tǒng)的運行更加高效可靠。

3.2 非線性邏輯結構的自動測試系統(tǒng)
   
當自動測試系統(tǒng)面臨非線性邏輯結構的數據元素時一必須要采取非順序存儲結構來保存數據,此時可以考慮鏈式存儲結構,或者索引存儲結構以及二叉樹等各種非順序存儲結構,但前提條件都是要有一套專門的存儲管理系統(tǒng)來支持。
    有了上述的存儲管理系統(tǒng)作基礎,各種非順序存儲結構的應用就成為可能。在設計系統(tǒng)時充分權衡存儲空間的利用率和算法所耗費的時間,就能夠有針對性地應用多種存儲結構并設計出相應的算法,以滿足各種測試對象和測試環(huán)境的要求。

結語
    以鏈式結構的形式保存數據和通過數據引導表來管理存儲空間,是應用于大容量單片機測試系統(tǒng)的一種新的數據保存和管理方式。
    這種存儲方式既適用于線性邏輯結構測試系統(tǒng),也適用于非線性邏輯結構測試系統(tǒng),總體上使得單片機系統(tǒng)在處理多項復雜數據并進行反復保存、查詢和刪除等操作時更加快捷簡便,提高了對有限容量存儲空間的利用率;同時,結構化的數據存儲使得系統(tǒng)的維護和升級更加輕松,實現了系統(tǒng)的結構化管理。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產品設計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產品供給。 搭養(yǎng)老政策東風 ...

關鍵字: 溫度 BSP 東風 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎單元,承載著生存與活動的最基本功能。而對于理想空間的解構意義卻在物理性容器之外,體現出人們對于空間和生活深層關系的思考,同時也塑造著人與空間的新型連接...

關鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預告。今年前三季度,公司預計實現營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預計為1.73億...

關鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術中心"認定。 北京市企業(yè)技...

關鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數據公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關鍵字: IDC BSP 數字化 數據中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經營12年的“大日子”,圍繞作為外資金融機構對在華戰(zhàn)略的構想和業(yè)...

關鍵字: 數字化 BSP 供應鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關鍵字: 溫控 精密儀器 半導體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術企業(yè)云集,展出的智能產品超過140,...

關鍵字: 中國智造 BSP 手機 CAN

串口作為單片機開發(fā)的一個常用的外設,應用范圍非常廣。大部分時候,串口需要接收處理的數據長度是不定的。那么怎么才能判斷一幀數據是否結束呢,今天就以STM32單片機為例,介紹幾種接收不定長數據的方法。

關鍵字: 單片機 串口 STM32

要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...

關鍵字: 機器人 BSP 工業(yè)機器人 現代汽車

單片機

21600 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉