一種嵌入式便攜數據采集分析儀
COPY:
ldr r3,[r0],#4
str r3,[r1],#4
subs r2,r2,#4
bne COPY
ldrr4,=0xc007ffc;//jumptoSDRAM
addpc,pc,r4
……
b__main;//jumptoOS
操作系統
儀器使用μC/OS-II嵌入式操作系統。μC/OS-II是一個公開源代碼的搶占式實時嵌入式內核,它在內核上保證了系統的實時性。在這個系統中,己經就緒的高優先級任務可以剝奪正在運行的低優先級任務的CPU使用權。只要保證數據采集任務的優先級足夠高,就可以保證數據采集過程不會被打斷,從而保證數據的連續性和完整性。
μC/OS-II易于移植,僅需針對s3c44b0x修改3個文件就可完成移植工作。這3個文件分別是OS_CPU.H、OS_CPU_A.ASM、 OS_CPU_C.C。主要是修改SWI軟中斷異常響應、中斷例程和任務切換例程。其他的文件都是處理器無關的,一般不需修改。功能菜單選擇任務是優先級最低的任務,沒有其它高級任務運行時即運行這個任務。使用時,通過液晶顯示器和鍵盤選擇需要的功能,即可進行采樣測量工作。
采樣觸發方式
本儀器除具有其它儀器都有的內觸發、外觸發、定時觸發方式外,還根據工業測試現場的需要,設計了倍頻觸發方式和單A/D多通道并行無時延觸發方式。
(1)內觸發方式,即由一方波觸發采樣,操作者指定其頻率fs、時間長度(測點長度)T和開始時刻,也稱為數字觸發。這是一般的A/D板卡都具有的功能。如果對采樣得到的數據進行緩存,并將每一個值和指定電壓值比較,可以實現電平觸發。即當采樣電平達到和超過某閾值后,才存儲采樣數據。儀器還專門留有一條IO線,由IO線的電平變化事件觸發采樣,可以實現前觸發和后觸發。前觸發即僅在IO線事件發生后,以預先選擇的采樣頻率fs和截斷長度進行采樣;后觸發指在IO線事件發生前,以預先選擇的采樣頻率fs采樣,IO事件發生即結束采樣。
(2)倍頻觸發方式。在大型旋轉設備升降速過程中,要了解各軸承或軸上某截面測點處過臨界轉速過程的表現,不允許按常規分時巡檢進行,需要特殊的觸發方式。這種情況下多采用倍頻觸發方式采樣。即用轉子轉速信號進行外同步,每轉采N個點。當轉速變化時,儀器自動修正采樣頻率,保證各通道對應點的采樣是同一時刻的,同時還獲得了精確的轉子轉速信息。
為實現這種觸發方式,需將轉速信號連接到儀器的外時鐘輸入端。轉速信號一般為每轉一周期的方波。一個采樣周期一般包括4個轉速信號周期:第一個周期,處理器通過查詢方式檢測到外時鐘信號的上升沿時使一內部計數器以指定頻率開始計數,這個計數器稱為測周期計數器。再次檢測到上升沿時停止計數。這時計數器的值即包含了轉速信號的周期信息。第二個周期內,將這個值除以N(每周期采樣點數)傳遞給另一個計數器。第二個計數器稱為觸發計數器,計數頻率和測周期計數器相同,輸出頻率就是采樣頻率。這時,采樣頻率就相當于轉速信號的N倍,實現倍頻。當處理器再次檢測到上升沿時(第三個周期),觸發計數器開始計數,輸出的信號觸發A/D采樣,采集兩個周期的數據。如此循環往復。整個采樣程序的流程圖如圖3所示。
圖3 外觸發整周期倍頻采樣流程圖
經過倍頻,可以精確實現每周期采集N個點,并且平均分布;使用轉速信號上升沿作為采樣開始的標志保證了采樣開始于每個周期的起始,結束于每個周期的結束。每次采樣前先進行轉速信號周期測量保證了采樣頻率可以跟隨轉速信號變化,由于大型旋轉機械的慣性和轉加速度的限制,轉子相鄰轉速變化不大,而且在測試處理時可以預測修正。這些措施嚴格保證了采樣的整周期性,雖然得到的數據是間斷的,但由于其起始和結束相位相同,連接到一起后不會影響后面的數據分析。
(3)多通道并行無時延觸發方式。多通道巡檢測試通常是分時逐一完成的,有時會引入誤差。在工業現場進行模態測量時,無論一點激勵、多點測量,還是多點激勵、兩點(激勵點和響應點)測量,都要求各測點所測數據是同一時刻的(沒有時延)。例如大型轉子升降速過程中測試各測點過臨界轉速的表現,即有這種無時延的要求。
為了確保各測點無時延,每次采樣前,通過采樣保持器將各通道狀態保持住,再令A/D以最快速度對各通道做一次掃描采樣,然后釋放保持,準備下一次掃描測量。這樣采集的數據經過整理后就能獲得各通道的實際采樣序列。這種觸發方式以犧牲A/D最高采樣速率的代價,用一片A/D實現多通道并行無延時采樣,相對于多片A/D并行工作的方式,成本下降很多。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論