日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 智能硬件 > 智能硬件
[導(dǎo)讀]介紹應(yīng)用雙端口RAM芯片設(shè)計(jì)的智能型高速并行通訊卡。針對(duì)VB語(yǔ)言環(huán)境下,用DLL函數(shù)鏈接方式,對(duì)采用內(nèi)存直接映象技術(shù)的雙端口RAM進(jìn)行讀寫,實(shí)現(xiàn)主、分機(jī)之間數(shù)據(jù)高速并行傳輸。

摘要:介紹應(yīng)用雙端口RAM芯片設(shè)計(jì)的智能型高速并行通訊卡。針對(duì)VB語(yǔ)言環(huán)境下,用DLL函數(shù)鏈接方式,對(duì)采用內(nèi)存直接映象技術(shù)的雙端口RAM進(jìn)行讀寫,實(shí)現(xiàn)主、分機(jī)之間數(shù)據(jù)高速并行傳輸。本技術(shù)已經(jīng)成功應(yīng)用在汽車給合檢測(cè)系統(tǒng)中,對(duì)在其它集散型控制系統(tǒng)中進(jìn)行高速數(shù)據(jù)傳輸同樣有益。
關(guā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法實(shí)現(xiàn)實(shí)時(shí)控制,不能滿足系統(tǒng)采集和控制需要。上述問題在我們?cè)O(shè)計(jì)的汽車綜合檢測(cè)系統(tǒng)中,得到了較好的解決。系統(tǒng)中采用雙端口RAM技術(shù)設(shè)計(jì)了一塊PC總線接口的智能型高速并行通訊卡(以下簡(jiǎn)稱通訊卡),實(shí)現(xiàn)外部數(shù)據(jù)同計(jì)算機(jī)高速并行通訊。由卡上的MCU負(fù)責(zé)分機(jī)的數(shù)據(jù)采樣,將需要傳輸?shù)臄?shù)據(jù)按系統(tǒng)協(xié)議在雙端口RAM內(nèi)任意存取,讀寫速度快、可靠性高、接口簡(jiǎn)單,滿足了系統(tǒng)設(shè)計(jì)需要。并且實(shí)現(xiàn)了在VB語(yǔ)言環(huán)境下對(duì)采用內(nèi)存直接映象技術(shù)的雙端口RAM的讀寫操作,將多主CPU采用的總線仲裁方式簡(jiǎn)單為僅僅對(duì)內(nèi)存操作,在應(yīng)用計(jì)算機(jī)總線擴(kuò)展技術(shù)方面具有借鑒意義。

1 系統(tǒng)描述

在汽車綜合檢測(cè)系統(tǒng)中,需要對(duì)汽車的底盤、發(fā)動(dòng)機(jī)以及綜合電路等方面的信號(hào)進(jìn)行采樣和判斷,其中包含大量的運(yùn)算處理和汽車標(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沒有高效的運(yùn)算功能,沒有大量的指令和數(shù)據(jù)存貯空間,更不能直觀顯示各種汽車標(biāo)準(zhǔn)數(shù)據(jù)和測(cè)量結(jié)果,若進(jìn)行大量的運(yùn)算、判斷、顯示,其硬件、軟件處理是一個(gè)比較棘手的問題。因此本系統(tǒng)采用MCU負(fù)責(zé)采集各種信號(hào),統(tǒng)一由計(jì)算機(jī)負(fù)責(zé)相應(yīng)的運(yùn)算處理、分析、判斷,并管理汽車標(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ī),通過串行通訊方式將分機(jī)采集的各種數(shù)據(jù),收集到通訊卡內(nèi),經(jīng)過判斷、篩選,將有效數(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é)果或控制命令寫入雙端口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)行讀寫操作,“瓶頸效應(yīng)”十分明顯。在對(duì)實(shí)時(shí)性要求很高、數(shù)據(jù)傳輸量很大的場(chǎng)合,數(shù)據(jù)阻塞明顯,無法滿足系統(tǒng)的大量數(shù)據(jù)高速傳輸?shù)男枰1鞠到y(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)鍵。美國(guó)ATMEL公司出品的89C51是本系統(tǒng)的首選。另一方面根據(jù)本系統(tǒng)的需要,數(shù)據(jù)傳輸?shù)男畔⒘吭谝粋€(gè)令牌下,2KB的吞吐量已經(jīng)滿足,因此我們采用美國(guó)IDT公司出品的雙端口EAM IDT7132,容量為2K×8bits。IDT7132帶有兩套獨(dú)立控制總線,可從兩側(cè)任意讀寫存儲(chǔ)器中的所有單元,片內(nèi)硬件端口促裁電路適合當(dāng)兩側(cè)同時(shí)訪問同一單元時(shí)不允許處于等待狀態(tài)的89C51的操作,允許不經(jīng)過外部仲裁,能經(jīng)受沖突的系統(tǒng)進(jìn)行雙機(jī)同步讀寫存儲(chǔ)器中的同一單元,確保了數(shù)據(jù)的準(zhǔn)確性,簡(jiǎn)化了通訊卡的硬件電路設(shè)計(jì),同時(shí)為軟件設(shè)計(jì)免除了使用信號(hào)燈進(jìn)行判斷操作的繁鎖過程。

2.2 雙端口RAM的地址范圍的選擇

計(jì)算機(jī)內(nèi)部高端地址中有一段保留給I/O適配卡的128KB地址空間,這段地址空間為0C0000H~0DFFFFH。利用這128KB中的一段2KB空間即可滿足IDT7132的使用,按PC總線的協(xié)議經(jīng)過地址譯碼和其它控制總線選能,實(shí)現(xiàn)內(nèi)存直接映象方式。地址范圍為0D0000H~0D07FFH之間。另一側(cè),MCU與IDT7132的接法只將IDT7132其中一側(cè)總線接入MCU的總線上,其接法同普通RAM沒有區(qū)別,設(shè)置地址范圍在 8000H~87FFH之間。

按工業(yè)控制標(biāo)準(zhǔn)實(shí)行全地址線譯碼方式,確保全地址空間的每一個(gè)存儲(chǔ)單元的地址在總線上唯一。

2.3 對(duì)雙端口RAM訪問的特殊情況處理

IDT7132 兩側(cè)的BUSY線分別接到MCU的INT0中斷上和PC總線的A10腳(IO-CH-RDY)上,作為MCU和計(jì)算機(jī)同時(shí)讀寫IDT7132的同一個(gè)地址單元時(shí)的“忙閑”狀態(tài)線。當(dāng)兩側(cè)訪問不同的地址單元時(shí),BUSY線無效,兩側(cè)操作互不影響。當(dāng)兩側(cè)“幾乎同時(shí)”訪問同一個(gè)單元時(shí),按IDT7132的總線仲裁邏輯,對(duì)兩側(cè)的片選信號(hào)和地址信號(hào)之一到達(dá)時(shí)間間隔只要大于5ns,就能對(duì)先到達(dá)的一側(cè)提供讀寫通道,保證數(shù)據(jù)讀寫的真實(shí)性。同時(shí)將另一側(cè)的BUSY 線置低,為MCU或計(jì)算機(jī)提供中斷或等待信號(hào)。眾所周知,89C51不具備插入等待周期延時(shí)操作的能力。當(dāng)MCU一側(cè)先行操作時(shí),計(jì)算機(jī)一側(cè)的BUSY線有效,PC總線上的IO-CH-RDY狀態(tài)線被拉低,命令計(jì)算機(jī)CPU插入等待周期,延時(shí)等待MCU一側(cè)完成讀寫操作后,再進(jìn)行讀寫操作。當(dāng)計(jì)算機(jī)一側(cè)占據(jù)IDT7132的一個(gè)地址單元時(shí),MCU一側(cè)再操作該單元,MCU讀寫的數(shù)據(jù)無效。我們采用了判斷標(biāo)志位的方式解決此問題。當(dāng)對(duì)應(yīng)的BUSY線變低 INT0中斷有效時(shí),MCU完成該條讀寫指令后立即進(jìn)入中斷,置標(biāo)志位,中斷返回后,即執(zhí)行查詢標(biāo)志位的指令同,判斷此次操作是否有效。未成功,重復(fù)操作,直至讀寫成功。

3 軟件設(shè)計(jì)

整個(gè)系統(tǒng)的全部軟件共三部分,每一部分的設(shè)計(jì)側(cè)重點(diǎn)不同。計(jì)算機(jī)方面軟件實(shí)現(xiàn)的功能包括:用戶人機(jī)對(duì)話接口、汽車技術(shù)資料庫(kù)的管理和擴(kuò)充、底層全部數(shù)據(jù)傳輸、運(yùn)算處理、零點(diǎn)校正設(shè)定、實(shí)時(shí)監(jiān)控操作、各分機(jī)的模擬信號(hào)線化處理、大量圖片資料的處理與調(diào)用等等。通訊卡的軟件設(shè)計(jì)包括:對(duì)各個(gè)分機(jī)的管理、數(shù)據(jù)收集分類整理、篩選判斷、與計(jì)算機(jī)進(jìn)行有效數(shù)據(jù)傳輸?shù)鹊取7謾C(jī)的軟件包括數(shù)據(jù)采集和模擬控制等部分。要求數(shù)據(jù)采集準(zhǔn)確、一致。實(shí)際應(yīng)用中采用數(shù)據(jù)濾波、指令冗余、自依斷以及現(xiàn)場(chǎng)斷點(diǎn)返回等抗干擾技術(shù)。

全部軟件涉及的編程語(yǔ)言共三種。分機(jī)和通訊卡的軟件設(shè)計(jì)采用匯編語(yǔ)言,計(jì)算機(jī)方面采用Visual Basic6.0、Visual C++ 6.0兩種語(yǔ)言,分機(jī)方面的軟件這里不作介紹,本文主要針對(duì)在通訊卡上以及在Visual Basic 6.0環(huán)境下對(duì)雙端口RAM的操作軟件設(shè)計(jì)作詳細(xì)介紹。

Visual Basic 6.0不具備對(duì)計(jì)算機(jī)底層地址操作的功能,不如Visual C++ 6.0、Delphi等。特別在本系統(tǒng)中采用的高速并行通信方式,對(duì)內(nèi)存物理地址讀寫操作的頻率很高,按常規(guī)應(yīng)改用其它語(yǔ)言。但系統(tǒng)其它方面的工作,不是其它語(yǔ)言所能替代的,所以必須將VB語(yǔ)言環(huán)境下不能對(duì)底層地址讀寫操作的問題加以解決。經(jīng)過實(shí)驗(yàn),通過如下方法實(shí)現(xiàn)。

筆者采用的方法是調(diào)用動(dòng)態(tài)鏈接庫(kù)DLL。用VisualC++ 6.0編寫對(duì)內(nèi)存物理地址進(jìn)行讀寫操作的DLL動(dòng)態(tài)鏈接庫(kù)函數(shù),進(jìn)行數(shù)據(jù)采集和發(fā)送;用Visual Basic 6.0調(diào)用DLL實(shí)現(xiàn)數(shù)據(jù)通信,從而彌補(bǔ)VB對(duì)底層數(shù)據(jù)操作的缺陷,使VB環(huán)境下開發(fā)數(shù)據(jù)通信系統(tǒng)軟件更為方便。

(1)首先使用Visual C++ 6.0創(chuàng)建一個(gè)MFC Appwizard dll項(xiàng)目,這樣就可以在DLL中編寫程序。因?yàn)槲覀円獙?duì)直接映象在高端內(nèi)在范圍內(nèi)的地址進(jìn)行操作,所以在編寫程序時(shí),要使用如下方法:

-asm{ mov A B

mov ……

…………

mov i A}

return i;

-asm{}是嵌入式匯編函數(shù),在Visual C++6.0中只有使用此方法才可以訪問高端內(nèi)存地睛。還要在DLL中編寫兩個(gè)函數(shù)。

一個(gè)從內(nèi)存地址讀數(shù)函數(shù)。

一個(gè)對(duì)內(nèi)存地址寫數(shù)函數(shù)。

這樣才能完成對(duì)高端內(nèi)存地址讀寫的操作,實(shí)現(xiàn)底層的數(shù)據(jù)傳輸。

(2)使用Visual Basic 6.0調(diào)用DLL動(dòng)態(tài)鏈接庫(kù)函數(shù)。

第一步:運(yùn)行VB6.0時(shí),新建一個(gè)工程項(xiàng)目,在項(xiàng)目中添加模塊,在模塊中聲明兩個(gè)API函數(shù):

Declare Function write% lib“C:兡?#12;C”

(ByVal localport%,ByVal value%)

Declare Function read% lib “C:兡?#12;C”

(ByVal localport%)

其中:write( )函數(shù)是向高端內(nèi)存地址寫數(shù)據(jù)

read( )函數(shù)是從高端內(nèi)存地址讀數(shù)據(jù)

第二步:在窗體中放入三個(gè)文本框(Text 1,Text2,Text3),一個(gè)命令按扭(Command 1),就可以在代碼窗口中編寫代碼:

Option Explicit

Dim Port 1 ‘內(nèi)存地址 如:0D0000H

Dim Port 2 ‘16進(jìn)制數(shù) 如:12H

Private Sub Command 1-click()

Dim Gg As Integer ‘聲明一個(gè)返回整數(shù)

Dim Salp As Integer ‘聲明一個(gè)返回整數(shù)

Port 1=Val(Text 1.Text) ‘把Text 1賦給port 1

Port 2=Val(Text 2.Text) ‘把Text 2賦給port 2

Gg=write(port 1,port2) ‘往Port 1地址中寫Port 2

Salp=read(port 1) ‘從Port 1地址中讀數(shù)

Text3.Text=Salp ‘在Text3中顯示

Salp

End Sub

兩個(gè)函數(shù)的調(diào)用過程如上所述,可根據(jù)編程的意圖放在任何位置。特別注意,函數(shù)地址不能與其它硬件的地址或系統(tǒng)內(nèi)存地址沖突,否則會(huì)造成計(jì)算機(jī)死機(jī)。

本文采用雙端口RAM器件設(shè)計(jì)的智能型高速并行通訊卡,在監(jiān)控軟件、硬件,以及在VB環(huán)境下對(duì)直接映象方式的高端內(nèi)存進(jìn)行讀寫操作的實(shí)現(xiàn),具有通用性。尤其在自動(dòng)控制領(lǐng)域設(shè)計(jì)A/D、D/A轉(zhuǎn)換、實(shí)現(xiàn)閉環(huán)控制,以及設(shè)計(jì)虛擬儀器、視頻信號(hào)數(shù)字化處理、語(yǔ)音處理、各種系統(tǒng)動(dòng)態(tài)仿真等需要高速數(shù)據(jù)傳輸?shù)膱?chǎng)合,都具有借鑒意義。總之,智能化板卡在PC總線工業(yè)控制的應(yīng)用,是今后發(fā)展的主流。

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

三星宣布,其最新的LPDDR5X內(nèi)存已通過驗(yàn)證,可在驍龍(Snapdragon)移動(dòng)平臺(tái)上使用,該內(nèi)存速度可達(dá)到當(dāng)前業(yè)界最快的8.5 千兆比特每秒(Gbps)。通過優(yōu)化應(yīng)用處理器和存儲(chǔ)器之間的高速信號(hào)環(huán)境,三星超過了自身...

關(guān)鍵字: GBPS 三星 內(nèi)存 LPDDR5

(全球TMT2022年10月18日訊)三星宣布,其最新的LPDDR5X內(nèi)存已通過驗(yàn)證,可在驍龍(Snapdragon)移動(dòng)平臺(tái)上使用,該內(nèi)存速度可達(dá)到當(dāng)前業(yè)界最快的8.5 千兆比特每秒(Gbps)。通過優(yōu)化應(yīng)用處理器和...

關(guān)鍵字: GBPS 三星 亞馬遜 內(nèi)存

在三星 Tech Day 2022 活動(dòng)上,三星電子總裁兼內(nèi)存業(yè)務(wù)負(fù)責(zé)人 Jung-bae Lee 表示,三星 40 多年來共生產(chǎn)了 1 萬億 GB 內(nèi)存,僅在過去三年中就產(chǎn)生了大約一半。

關(guān)鍵字: 三星 內(nèi)存 儲(chǔ)存芯片

據(jù)全球最大石油生產(chǎn)商沙特阿美(Saudi Aramco)稱,全球石油市場(chǎng)依然緊張。對(duì)于一個(gè)仍然嚴(yán)重依賴化石燃料的世界來說,這不是一個(gè)好兆頭。沙特阿美CEO Amin Nasser表示,如今閑置產(chǎn)能非常低。如果亞洲重新開放...

關(guān)鍵字: NAS RAM SE CE

擱在四五年前,板載內(nèi)存極大可能會(huì)被用戶視為一臺(tái)輕薄本的缺點(diǎn),其實(shí)這也很好理解,板載內(nèi)存無法擴(kuò)容,而且當(dāng)時(shí)內(nèi)存容量并不大,板載內(nèi)存的頻率也普遍偏低,性能稍差,所以很多朋友選購(gòu)輕薄本的時(shí)候,都會(huì)避開板載內(nèi)存。

關(guān)鍵字: 板載 內(nèi)存 半導(dǎo)體

(全球TMT2022年9月20日訊)華為云發(fā)布《云原生2.0架構(gòu)白皮書》并聯(lián)合CNCF(云原生計(jì)算基金會(huì))成立創(chuàng)原會(huì)亞太分會(huì)。為加速亞太政企數(shù)字化轉(zhuǎn)型,華為云還提出“堅(jiān)定決心、積極行動(dòng),全面擁抱云原生技術(shù),積極發(fā)展數(shù)字...

關(guān)鍵字: MOUNT RAM 流媒體 華為云

繼DDR5 DRAM成為英特爾“Alder Lake”第12代處理器的標(biāo)準(zhǔn)配置之后,AMD近日也宣布其7000系列處理器將支持DDR5內(nèi)存,并在9月27日正式上市。AMD表示,該平臺(tái)將不再支持DDR4,只支持DDR5產(chǎn)品...

關(guān)鍵字: DDR5 內(nèi)存 三星

GRL通過與FuturePlus的合作伙伴關(guān)系,擴(kuò)大了全球七個(gè)實(shí)驗(yàn)室所提供的DDR和LPDDR內(nèi)存測(cè)試服務(wù)組合  加利福尼亞州圣克拉拉市2022年9月15日 /美...

關(guān)鍵字: DDR FUTURE SYSTEMS 內(nèi)存

深圳2022年9月14日 /美通社/ -- 近日,憶聯(lián)旗下企業(yè)級(jí)固態(tài)硬盤UH811a/UH831a系列經(jīng)過微軟中國(guó)技術(shù)中心的各項(xiàng)嚴(yán)格測(cè)試,已正式通過了微軟WHQL認(rèn)證。標(biāo)志著憶聯(lián)UH811a/UH831a系列與Windo...

關(guān)鍵字: 微軟 硬件 SSD 讀寫

深圳2022年9月8日 /美通社/ -- 9月5-6日,由開放數(shù)據(jù)中心委員會(huì)(ODCC)主辦的"2022開放數(shù)據(jù)中心峰會(huì)"于北京國(guó)際會(huì)議中心隆重召開。作為ODCC白金會(huì)員單位,憶聯(lián)受邀出席本次峰會(huì),一...

關(guān)鍵字: DC 固態(tài)硬盤 讀寫 GB

智能硬件

22106 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉