VB環(huán)境下對(duì)雙端口RAM物理讀寫(xiě)的實(shí)現(xiàn)
雙端口RAM 內(nèi)存直接映象 高速并行傳輸 DLL動(dòng)態(tài)鏈接在集散型控制系統(tǒng)中,一般將計(jì)算機(jī)或工控機(jī)用于終端圖文顯示,數(shù)據(jù)采集處理以及機(jī)對(duì)話接口等方面。計(jì)算機(jī)或工控機(jī)與外部設(shè)備需要建立數(shù)據(jù)傳輸?shù)耐ㄓ嵚?lián)系。但大量數(shù)據(jù)傳輸,靠通常的串行通訊方式進(jìn)行,必須占用CPU大量的時(shí)間進(jìn)行通訊。一些控制系統(tǒng)往往因?yàn)閭鬏斔俾事鵁o(wú)法實(shí)現(xiàn)實(shí)時(shí)控制,不能滿足系統(tǒng)采集和控制需要。上述問(wèn)題在我們?cè)O(shè)計(jì)的汽車(chē)綜合檢測(cè)系統(tǒng)中,得到了較好的解決。系統(tǒng)中采用雙端口RAM技術(shù)設(shè)計(jì)了一塊PC總線接口的智能型高速并行通訊卡(以下簡(jiǎn)稱(chēng)通訊卡),實(shí)現(xiàn)外部數(shù)據(jù)同計(jì)算機(jī)高速并行通訊。由卡上的MCU負(fù)責(zé)分機(jī)的數(shù)據(jù)采樣,將需要傳輸?shù)臄?shù)據(jù)按系統(tǒng)協(xié)議在雙端口RAM內(nèi)任意存取,讀寫(xiě)速度快、可靠性高、接口簡(jiǎn)單,滿足了系統(tǒng)設(shè)計(jì)需要。并且實(shí)現(xiàn)了在VB語(yǔ)言環(huán)境下對(duì)采用內(nèi)存直接映象技術(shù)的雙端口RAM的讀寫(xiě)操作,將多主CPU采用的總線仲裁方式簡(jiǎn)單為僅僅對(duì)內(nèi)存操作,在應(yīng)用計(jì)算機(jī)總線擴(kuò)展技術(shù)方面具有借鑒意義。
1 系統(tǒng)描述
在汽車(chē)綜合檢測(cè)系統(tǒng)中,需要對(duì)汽車(chē)的底盤(pán)、發(fā)動(dòng)機(jī)以及綜合電路等方面的信號(hào)進(jìn)行采樣和判斷,其中包含大量的運(yùn)算處理和汽車(chē)標(biāo)準(zhǔn)為資料的對(duì)比、分析、判斷等環(huán)節(jié)。整個(gè)系統(tǒng)信號(hào)采樣點(diǎn)多,信號(hào)的形式各不相同,系統(tǒng)采用MCU控制方式的分機(jī)對(duì)各測(cè)量點(diǎn)進(jìn)行數(shù)據(jù)采集和模擬控制。由于MCU沒(méi)有高效的運(yùn)算功能,沒(méi)有大量的指令和數(shù)據(jù)存貯空間,更不能直觀顯示各種汽車(chē)標(biāo)準(zhǔn)數(shù)據(jù)和測(cè)量結(jié)果,若進(jìn)行大量的運(yùn)算、判斷、顯示,其硬件、軟件處理一個(gè)比較棘手的問(wèn)題。因此本系統(tǒng)采用MCU負(fù)責(zé)采集各種信號(hào),統(tǒng)一由計(jì)算機(jī)負(fù)責(zé)相應(yīng)的運(yùn)算處理、分析、判斷,并管理汽車(chē)標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)、人機(jī)對(duì)話接口、顯示測(cè)量結(jié)果和標(biāo)準(zhǔn)圖形等等,用一塊管理分機(jī)的通訊卡實(shí)現(xiàn)分機(jī)與主機(jī)之間數(shù)據(jù)傳輸。
通訊卡包含了數(shù)字濾波、數(shù)據(jù)收集、傳輸?shù)裙δ埽瑢?duì)系統(tǒng)內(nèi)的并、串行通訊實(shí)現(xiàn)分時(shí)操作??ㄉ嫌梢黄琈CU負(fù)責(zé)管理各個(gè)分機(jī),通過(guò)串行通訊方式將分機(jī)采集的各種數(shù)據(jù),收集到通訊卡內(nèi),經(jīng)過(guò)判斷、篩選,將有效數(shù)據(jù)存貯到雙端口RAM的規(guī)定區(qū)域內(nèi);計(jì)算機(jī)從雙端口RAM內(nèi)將數(shù)據(jù)讀入,進(jìn)行運(yùn)算處理,與標(biāo)準(zhǔn)數(shù)據(jù)進(jìn)行比較判斷,將結(jié)果或控制命令寫(xiě)入雙端口RAM內(nèi),實(shí)現(xiàn)整個(gè)系統(tǒng)統(tǒng)一協(xié)調(diào)運(yùn)行。本文主要針對(duì)通訊卡的軟、硬件設(shè)計(jì)和在VB環(huán)境下的軟件實(shí)現(xiàn),作重點(diǎn)的分析。
2 硬件設(shè)計(jì)
通訊卡的基本硬件設(shè)計(jì)簡(jiǎn)圖如圖1所示。利用計(jì)算機(jī)總線做擴(kuò)展卡的技術(shù)已經(jīng)廣為應(yīng)用,但很多都是利用計(jì)算機(jī)提供固定的I/O端口地址進(jìn)行讀寫(xiě)操作,“瓶頸效應(yīng)”十分明顯。在對(duì)實(shí)時(shí)性要求很高、數(shù)據(jù)傳輸量很大的場(chǎng)合,數(shù)據(jù)阻塞明顯,無(wú)法滿足系統(tǒng)的大量數(shù)據(jù)高速傳輸?shù)男枰?。本系統(tǒng)利用計(jì)算機(jī)內(nèi)存直接映象技術(shù),對(duì)內(nèi)存物理地址直接操作,實(shí)時(shí)性和速度明顯改善,完全滿足本系統(tǒng)的速度要求。
2.1 MCU和雙端口RAM的選擇
此卡是實(shí)現(xiàn)計(jì)算機(jī)與數(shù)據(jù)采集的分機(jī)之間大量、快速的數(shù)據(jù)交換的中間環(huán)節(jié)。采用的MCU要求具有較喲的運(yùn)行速度和數(shù)據(jù)管理能力,既有雙端口RAM的接口總線,又具備同分機(jī)雙工串行通訊能力,同時(shí)考慮到系統(tǒng)硬件加密的必要,選擇此MCU是系統(tǒng)的關(guān)鍵。美ATMEL公司出品的89C51是本系統(tǒng)的首選。另一方面根據(jù)本系統(tǒng)的需要,數(shù)據(jù)傳輸?shù)男畔⒘吭谝粋€(gè)令牌下,2KB的吞吐量已經(jīng)滿足,因此我們采用美國(guó)IDT公司出品的雙端口EAM IDT7132,容量為2K
評(píng)論