下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 VB環(huán)境下對雙端口RAM物理讀寫的實現(xiàn)摘要:實現(xiàn)了一種全集成可變帶寬中頻寬帶低通濾波器,討論分析了跨導(dǎo)放大器-電容(OTAC)連續(xù)時間型濾波器的結(jié)構(gòu)、設(shè)計和具體實現(xiàn),使用外部可編程電路對所設(shè)計濾波器帶寬進(jìn)行控制,并利用ADS軟件進(jìn)行電路設(shè)計和仿真驗證。仿真結(jié)果表明,該濾波器帶寬的可調(diào)范圍為126 MHz,阻帶抑制率大于35 dB,帶內(nèi)波紋小于05 dB,采用18 V電源,TSMC 018m CMOS工藝庫仿真,功耗小于21 mW,頻響曲線接近理想狀態(tài)。關(guān)鍵詞:Butte摘要:介紹應(yīng)用雙端口RAM芯片設(shè)計的智能型高速并行通訊卡。針對VB語言環(huán)境下,
2、用DLL函數(shù)鏈接方式,對采用內(nèi)存直接映象技術(shù)的雙端口RAM進(jìn)行讀寫,實現(xiàn)主、分機(jī)之間數(shù)據(jù)高速并行傳輸。本技術(shù)已經(jīng)成功應(yīng)用在汽車給合檢測系統(tǒng)中,對在其它集散型控制系統(tǒng)中進(jìn)行高速數(shù)據(jù)傳輸同樣有益。關(guān)鍵詞:雙端口RAM 內(nèi)存直接映象 高速并行傳輸 DLL動態(tài)鏈接在集散型控制系統(tǒng)中,一般將計算機(jī)或工控機(jī)用于終端圖文顯示,數(shù)據(jù)采集處理以及人機(jī)對話接口等方面。計算機(jī)或工控機(jī)與外部設(shè)備需要建立數(shù)據(jù)傳輸?shù)耐ㄓ嵚?lián)系。但大量數(shù)據(jù)傳輸,靠通常的串行通訊方式進(jìn)行,必須占用CPU大量的時間進(jìn)行通訊。一些控制系統(tǒng)往往因為傳輸速率慢而無法實現(xiàn)實時控制,不能滿足系統(tǒng)采集和控制需要。上述問題在我們設(shè)計的汽車綜合檢測系統(tǒng)中,得到
3、了較好的解決。系統(tǒng)中采用雙端口RAM技術(shù)設(shè)計了一塊PC總線接口的智能型高速并行通訊卡(以下簡稱通訊卡),實現(xiàn)外部數(shù)據(jù)同計算機(jī)高速并行通訊。由卡上的MCU負(fù)責(zé)分機(jī)的數(shù)據(jù)采樣,將需要傳輸?shù)臄?shù)據(jù)按系統(tǒng)協(xié)議在雙端口RAM內(nèi)任意存取,讀寫速度快、可靠性高、接口簡單,滿足了系統(tǒng)設(shè)計需要。并且實現(xiàn)了在VB語言環(huán)境下對采用內(nèi)存直接映象技術(shù)的雙端口RAM的讀寫操作,將多主CPU采用的總線仲裁方式簡單為僅僅對內(nèi)存操作,在應(yīng)用計算機(jī)總線擴(kuò)展技術(shù)方面具有借鑒意義。1 系統(tǒng)描述在汽車綜合檢測系統(tǒng)中,需要對汽車的底盤、發(fā)動機(jī)以及綜合電路等方面的信號進(jìn)行采樣和判斷,其中包含大量的運算處理和汽車標(biāo)準(zhǔn)為資料的對比、分析、判斷等
4、環(huán)節(jié)。整個系統(tǒng)信號采樣點多,信號的形式各不相同,系統(tǒng)采用MCU控制方式的分機(jī)對各測量點進(jìn)行數(shù)據(jù)采集和模擬控制。由于MCU沒有高效的運算功能,沒有大量的指令和數(shù)據(jù)存貯空間,更不能直觀顯示各種汽車標(biāo)準(zhǔn)數(shù)據(jù)和測量結(jié)果,若進(jìn)行大量的運算、判斷、顯示,其硬件、軟件處理是一個比較棘手的問題。因此本系統(tǒng)采用MCU負(fù)責(zé)采集各種信號,統(tǒng)一由計算機(jī)負(fù)責(zé)相應(yīng)的運算處理、分析、判斷,并管理汽車標(biāo)準(zhǔn)數(shù)據(jù)庫、人機(jī)對話接口、顯示測量結(jié)果和標(biāo)準(zhǔn)圖形等等,用一塊管理分機(jī)的通訊卡實現(xiàn)分機(jī)與主機(jī)之間數(shù)據(jù)傳輸。通訊卡包含了數(shù)字濾波、數(shù)據(jù)收集、傳輸?shù)裙δ埽瑢ο到y(tǒng)內(nèi)的并、串行通訊實現(xiàn)分時操作。卡上由一片MCU負(fù)責(zé)管理各個分機(jī),通過串行通
5、訊方式將分機(jī)采集的各種數(shù)據(jù),收集到通訊卡內(nèi),經(jīng)過判斷、篩選,將有效數(shù)據(jù)存貯到雙端口RAM的規(guī)定區(qū)域內(nèi);計算機(jī)從雙端口RAM內(nèi)將數(shù)據(jù)讀入,進(jìn)行運算處理,與標(biāo)準(zhǔn)數(shù)據(jù)進(jìn)行比較判斷,將結(jié)果或控制命令寫入雙端口RAM內(nèi),實現(xiàn)整個系統(tǒng)統(tǒng)一協(xié)調(diào)運行。本文主要針對通訊卡的軟、硬件設(shè)計和在VB環(huán)境下的軟件實現(xiàn),作重點的分析。2 硬件設(shè)計通訊卡的基本硬件設(shè)計簡圖如圖1所示。利用計算機(jī)總線做擴(kuò)展卡的技術(shù)已經(jīng)廣為應(yīng)用,但很多都是利用計算機(jī)提供固定的I/O端口地址進(jìn)行讀寫操作,“瓶頸效應(yīng)”十分明顯。在對實時性要求很高、數(shù)據(jù)傳輸量很大的場合,數(shù)據(jù)阻塞明顯,無法滿足系統(tǒng)的大量數(shù)據(jù)高速傳輸?shù)男枰?。本系統(tǒng)利用計算機(jī)內(nèi)存直接映象
6、技術(shù),對內(nèi)存物理地址直接操作,實時性和速度明顯改善,完全滿足本系統(tǒng)的速度要求。2.1 MCU和雙端口RAM的選擇此卡是實現(xiàn)計算機(jī)與數(shù)據(jù)采集的分機(jī)之間大量、快速的數(shù)據(jù)交換的中間環(huán)節(jié)。采用的MCU要求具有較喲的運行速度和數(shù)據(jù)管理能力,既有雙端口RAM的接口總線,又具備同分機(jī)雙工串行通訊能力,同時考慮到系統(tǒng)硬件加密的必要,選擇此MCU是系統(tǒng)的關(guān)鍵。美國ATMEL公司出品的89C51是本系統(tǒng)的首選。另一方面根據(jù)本系統(tǒng)的需要,數(shù)據(jù)傳輸?shù)男畔⒘吭谝粋€令牌下,2KB的吞吐量已經(jīng)滿足,因此我們采用美國IDT公司出品的雙端口EAM IDT7132,容量為2K×8bits。IDT7132帶有兩套獨立控制
7、總線,可從兩側(cè)任意讀寫存儲器中的所有單元,片內(nèi)硬件端口促裁電路適合當(dāng)兩側(cè)同時訪問同一單元時不允許處于等待狀態(tài)的89C51的操作,允許不經(jīng)過外部仲裁,能經(jīng)受沖突的系統(tǒng)進(jìn)行雙機(jī)同步讀寫存儲器中的同一單元,確保了數(shù)據(jù)的準(zhǔn)確性,簡化了通訊卡的硬件電路設(shè)計,同時為軟件設(shè)計免除了使用信號燈進(jìn)行判斷操作的繁鎖過程。2.2 雙端口RAM的地址范圍的選擇計算機(jī)內(nèi)部高端地址中有一段保留給I/O適配卡的128KB地址空間,這段地址空間為0C0000H0DFFFFH。利用這128KB中的一段2KB空間即可滿足IDT7132的使用,按PC總線的協(xié)議經(jīng)過地址譯碼和其它控制總線選能,實現(xiàn)內(nèi)存直接映象方式。地址范圍為0D00
8、00H0D07FFH之間。另一側(cè),MCU與IDT7132的接法只將IDT7132其中一側(cè)總線接入MCU的總線上,其接法同普通RAM沒有區(qū)別,設(shè)置地址范圍在 8000H87FFH之間。按工業(yè)控制標(biāo)準(zhǔn)實行全地址線譯碼方式,確保全地址空間的每一個存儲單元的地址在總線上唯一。2.3 對雙端口RAM訪問的特殊情況處理IDT7132 兩側(cè)的BUSY線分別接到MCU的INT0中斷上和PC總線的A10腳(IO-CH-RDY)上,作為MCU和計算機(jī)同時讀寫IDT7132的同一個地址單元時的“忙閑”狀態(tài)線。當(dāng)兩側(cè)訪問不同的地址單元時,BUSY線無效,兩側(cè)操作互不影響。當(dāng)兩側(cè)“幾乎同時”訪問同一個單元時,按IDT7
9、132的總線仲裁邏輯,對兩側(cè)的片選信號和地址信號之一到達(dá)時間間隔只要大于5ns,就能對先到達(dá)的一側(cè)提供讀寫通道,保證數(shù)據(jù)讀寫的真實性。同時將另一側(cè)的BUSY 線置低,為MCU或計算機(jī)提供中斷或等待信號。眾所周知,89C51不具備插入等待周期延時操作的能力。當(dāng)MCU一側(cè)先行操作時,計算機(jī)一側(cè)的BUSY線有效,PC總線上的IO-CH-RDY狀態(tài)線被拉低,命令計算機(jī)CPU插入等待周期,延時等待MCU一側(cè)完成讀寫操作后,再進(jìn)行讀寫操作。當(dāng)計算機(jī)一側(cè)占據(jù)IDT7132的一個地址單元時,MCU一側(cè)再操作該單元,MCU讀寫的數(shù)據(jù)無效。我們采用了判斷標(biāo)志位的方式解決此問題。當(dāng)對應(yīng)的BUSY線變低 INT0中斷
10、有效時,MCU完成該條讀寫指令后立即進(jìn)入中斷,置標(biāo)志位,中斷返回后,即執(zhí)行查詢標(biāo)志位的指令同,判斷此次操作是否有效。未成功,重復(fù)操作,直至讀寫成功。3 軟件設(shè)計整個系統(tǒng)的全部軟件共三部分,每一部分的設(shè)計側(cè)重點不同。計算機(jī)方面軟件實現(xiàn)的功能包括:用戶人機(jī)對話接口、汽車技術(shù)資料庫的管理和擴(kuò)充、底層全部數(shù)據(jù)傳輸、運算處理、零點校正設(shè)定、實時監(jiān)控操作、各分機(jī)的模擬信號線化處理、大量圖片資料的處理與調(diào)用等等。通訊卡的軟件設(shè)計包括:對各個分機(jī)的管理、數(shù)據(jù)收集分類整理、篩選判斷、與計算機(jī)進(jìn)行有效數(shù)據(jù)傳輸?shù)鹊?。分機(jī)的軟件包括數(shù)據(jù)采集和模擬控制等部分。要求數(shù)據(jù)采集準(zhǔn)確、一致。實際應(yīng)用中采用數(shù)據(jù)濾波、指令冗余、自
11、依斷以及現(xiàn)場斷點返回等抗干擾技術(shù)。全部軟件涉及的編程語言共三種。分機(jī)和通訊卡的軟件設(shè)計采用匯編語言,計算機(jī)方面采用Visual Basic6.0、Visual C+ 6.0兩種語言,分機(jī)方面的軟件這里不作介紹,本文主要針對在通訊卡上以及在Visual Basic 6.0環(huán)境下對雙端口RAM的操作軟件設(shè)計作詳細(xì)介紹。Visual Basic 6.0不具備對計算機(jī)底層地址操作的功能,不如Visual C+ 6.0、Delphi等。特別在本系統(tǒng)中采用的高速并行通信方式,對內(nèi)存物理地址讀寫操作的頻率很高,按常規(guī)應(yīng)改用其它語言。但系統(tǒng)其它方面的工作,不是其它語言所能替代的,所以必須將VB語言環(huán)境下不能對
12、底層地址讀寫操作的問題加以解決。經(jīng)過實驗,通過如下方法實現(xiàn)。筆者采用的方法是調(diào)用動態(tài)鏈接庫DLL。用VisualC+ 6.0編寫對內(nèi)存物理地址進(jìn)行讀寫操作的DLL動態(tài)鏈接庫函數(shù),進(jìn)行數(shù)據(jù)采集和發(fā)送;用Visual Basic 6.0調(diào)用DLL實現(xiàn)數(shù)據(jù)通信,從而彌補(bǔ)VB對底層數(shù)據(jù)操作的缺陷,使VB環(huán)境下開發(fā)數(shù)據(jù)通信系統(tǒng)軟件更為方便。(1)首先使用Visual C+ 6.0創(chuàng)建一個MFC Appwizard dll項目,這樣就可以在DLL中編寫程序。因為我們要對直接映象在高端內(nèi)在范圍內(nèi)的地址進(jìn)行操作,所以在編寫程序時,要使用如下方法:-asm mov A Bmov mov i Areturn i;
13、-asm是嵌入式匯編函數(shù),在Visual C+6.0中只有使用此方法才可以訪問高端內(nèi)存地睛。還要在DLL中編寫兩個函數(shù)。一個從內(nèi)存地址讀數(shù)函數(shù)。一個對內(nèi)存地址寫數(shù)函數(shù)。這樣才能完成對高端內(nèi)存地址讀寫的操作,實現(xiàn)底層的數(shù)據(jù)傳輸。(2)使用Visual Basic 6.0調(diào)用DLL動態(tài)鏈接庫函數(shù)。第一步:運行VB6.0時,新建一個工程項目,在項目中添加模塊,在模塊中聲明兩個API函數(shù):Declare Function write% lib“C:兡?#12;C”(ByVal localport%,ByVal value%)Declare Function read% lib “C:兡?#12;C”(
14、ByVal localport%)其中:write( )函數(shù)是向高端內(nèi)存地址寫數(shù)據(jù)read( )函數(shù)是從高端內(nèi)存地址讀數(shù)據(jù)第二步:在窗體中放入三個文本框(Text 1,Text2,Text3),一個命令按扭(Command 1),就可以在代碼窗口中編寫代碼:Option ExplicitDim Port 1 內(nèi)存地址 如:0D0000HDim Port 2 16進(jìn)制數(shù) 如:12HPrivate Sub Command 1-click()Dim Gg As Integer 聲明一個返回整數(shù)Dim Salp As Integer 聲明一個返回整數(shù)Port 1=Val(Text 1.Text) 把Text 1賦給port 1Port 2=Val(Text 2.Text) 把Text 2賦給port 2Gg=write(port 1,port2) 往Port 1地址中寫Port 2Salp=read(port 1) 從Port 1地址中讀數(shù)Text3.Text=Salp 在Text3中顯示SalpEnd Sub兩個函數(shù)的調(diào)用過程如上所述,可根據(jù)編程的意
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年水泥買賣合同(含合同變更和補(bǔ)充條款)
- 2024年度綠色建筑設(shè)計與施工合作協(xié)議書3篇
- 學(xué)困生轉(zhuǎn)化工作計劃
- 小學(xué)校本教研活動計劃
- 電話銷售業(yè)務(wù)員工作計劃
- 勞動合同樣板
- 公司員工自我鑒定
- 制定護(hù)士的年度工作計劃
- 政府公共關(guān)系(第二版)課件 第6章 政府的公眾對象與輿論環(huán)境
- 經(jīng)典國學(xué)教學(xué)計劃
- 2024-2030年中國硅肥行業(yè)規(guī)模分析及投資前景研究報告
- 電網(wǎng)行業(yè)工作匯報模板22
- 2024年度跨境電商平臺承包經(jīng)營合同3篇
- 2025年上半年人民日報社招聘應(yīng)屆高校畢業(yè)生85人筆試重點基礎(chǔ)提升(共500題)附帶答案詳解
- 山東省臨沂市2023-2024學(xué)年高二上學(xué)期期末考試生物試題 含答案
- 2024-2025學(xué)年一年級數(shù)學(xué)上冊期末樂考非紙筆測試題(二 )(蘇教版2024秋)
- 辦公樓電氣改造施工方案
- 浙江省衢州市2023-2024學(xué)年高一上學(xué)期期末英語試題(含答案)3
- 上學(xué)期高二期末語文試卷(含答案)
- 超齡員工用工免責(zé)協(xié)議書
- 《雁門太守行》課件
評論
0/150
提交評論