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