色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

采用雙端口RAM技術實現智能型高速并行通訊卡的接口設計

牽手一起夢 ? 來源:電子技術應用 ? 作者:孫成秀,陶振權, ? 2020-10-04 14:13 ? 次閱讀

作者:孫成秀 , 陶振權 , 張憲震

端口RAM 內存直接映象 高速并行傳輸 DLL動態鏈接在集散型控制系統中,一般將計算機或工控機用于終端圖文顯示,數據采集處理以及機對話接口等方面。計算機或工控機與外部設備需要建立數據傳輸的通訊聯系。但大量數據傳輸,靠通常的串行通訊方式進行,必須占用CPU大量的時間進行通訊。一些控制系統往往因為傳輸速率慢而無法實現實時控制,不能滿足系統采集和控制需要。上述問題在我們設計的汽車綜合檢測系統中,得到了較好的解決。系統中采用雙端口RAM技術設計了一塊PC總線接口的智能型高速并行通訊卡(以下簡稱通訊卡),實現外部數據同計算機高速并行通訊。由卡上的MCU負責分機的數據采樣,將需要傳輸的數據按系統協議在雙端口RAM內任意存取,讀寫速度快、可靠性高、接口簡單,滿足了系統設計需要。并且實現了在VB語言環境下對采用內存直接映象技術的雙端口RAM的讀寫操作,將多主CPU采用的總線仲裁方式簡單為僅僅對內存操作,在應用計算機總線擴展技術方面具有借鑒意義。

1 系統描述

在汽車綜合檢測系統中,需要對汽車的底盤、發動機以及綜合電路等方面的信號進行采樣和判斷,其中包含大量的運算處理和汽車標準為資料的對比、分析、判斷等環節。整個系統信號采樣點多,信號的形式各不相同,系統采用MCU控制方式的分機對各測量點進行數據采集和模擬控制。由于MCU沒有高效的運算功能,沒有大量的指令和數據存貯空間,更不能直觀顯示各種汽車標準數據和測量結果,若進行大量的運算、判斷、顯示,其硬件、軟件處理一個比較棘手的問題。因此本系統采用MCU負責采集各種信號,統一由計算機負責相應的運算處理、分析、判斷,并管理汽車標準數據庫、人機對話接口、顯示測量結果和標準圖形等等,用一塊管理分機的通訊卡實現分機與主機之間數據傳輸。

通訊卡包含了數字濾波、數據收集、傳輸等功能,對系統內的并、串行通訊實現分時操作。卡上由一片MCU負責管理各個分機,通過串行通訊方式將分機采集的各種數據,收集到通訊卡內,經過判斷、篩選,將有效數據存貯到雙端口RAM的規定區域內;計算機從雙端口RAM內將數據讀入,進行運算處理,與標準數據進行比較判斷,將結果或控制命令寫入雙端口RAM內,實現整個系統統一協調運行。本文主要針對通訊卡的軟、硬件設計和在VB環境下的軟件實現,作重點的分析。

2 硬件設計

通訊卡的基本硬件設計簡圖如圖1所示。利用計算機總線做擴展卡的技術已經廣為應用,但很多都是利用計算機提供固定的I/O端口地址進行讀寫操作,“瓶頸效應”十分明顯。在對實時性要求很高、數據傳輸量很大的場合,數據阻塞明顯,無法滿足系統的大量數據高速傳輸的需要。本系統利用計算機內存直接映象技術,對內存物理地址直接操作,實時性和速度明顯改善,完全滿足本系統的速度要求。

2.1 MCU和雙端口RAM的選擇

此卡是實現計算機與數據采集的分機之間大量、快速的數據交換的中間環節。采用的MCU要求具有較喲的運行速度和數據管理能力,既有雙端口RAM的接口總線,又具備同分機雙工串行通訊能力,同時考慮到系統硬件加密的必要,選擇此MCU是系統的關鍵。美ATMEL公司出品的89C51是本系統的首選。另一方面根據本系統的需要,數據傳輸的信息量在一個令牌下,2KB的吞吐量已經滿足,因此我們采用美國IDT公司出品的雙端口EAM IDT7132,容量為2K×8bits。IDT7132帶有兩套獨立控制總線,可從兩側任意讀寫存儲器中的所有單元,片內硬件端口促裁電路適合當兩側同時訪問同一單元時不允許處于等待狀態的89C51的操作,允許不經過外部仲裁,能經受沖突的系統進行雙機同步讀寫存儲器中的同一單元,確保了數據的準確性,簡化了通訊卡的硬件電路設計,同時為軟件設計免除了使用信號燈進行判斷操作的繁鎖過程。

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

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

工業控制標準實行全地址線譯碼方式,確保全地址空間的每一個存儲單元的地址在總線上唯一。

2.3 對雙端口RAM訪問的特殊情況處理

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

3 軟件設計

整個系統的全部軟件共三部分,每一部分的設計側重點不同。計算機方面軟件實現的功能包括:用戶人機對話接口、汽車技術資料庫的管理和擴充、底層全部數據傳輸、運算處理、零點校正設定、實時監控操作、各分機的模擬信號線化處理、大量圖片資料的處理與調用等等。通訊卡的軟件設計包括:對各個分機的管理、數據收集分類整理、篩選判斷、與計算機進行有效數據傳輸等等。分機的軟件包括數據采集和模擬控制等部分。要求數據采集準確、一致。實際應用中采用數據濾波、指令冗余、自依斷以及現場斷點返回等抗干擾技術。

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

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

筆者采用的方法是調用動態鏈接庫DLL。用VisualC++ 6.0編寫對內存物理地址進行讀寫操作的DLL動態鏈接庫函數,進行數據采集和發送;用Visual Basic 6.0調用DLL實現數據通信,從而彌補VB對底層數據操作的缺陷,使VB環境下開發數據通信系統軟件更為方便。

(1)首先使用Visual C++ 6.0創建一個MFC Appwizard dll項目,這樣就可以在DLL中編寫程序。因為我們要對直接映象在高端內在范圍內的地址進行操作,所以在編寫程序時,要使用如下方法:

-asm{ mov A B

mov ……

…………

mov i A}

return i;

-asm{}是嵌入式匯編函數,在Visual C++6.0中只有使用此方法才可以訪問高端內存地睛。還要在DLL中編寫兩個函數。一個從內存地址讀數函數,一個對內存地址寫數函數。這樣才能完成對高端內存地址讀寫的操作,實現底層的數據傳輸。

(2)使用Visual Basic 6.0調用DLL動態鏈接庫函數。

第一步:運行VB6.0時,新建一個工程項目,在項目中添加模塊,在模塊中聲明兩個API函數:

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

(ByVal localport%,ByVal value%)

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

(ByVal localport%)

其中:write( )函數是向高端內存地址寫數據;

read( )函數是從高端內存地址讀數據。

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

Option Explicit

Dim Port 1 ‘內存地址 如:0D0000H

Dim Port 2 ‘16進制數 如:12H

Private Sub Command 1-click()

Dim Gg As Integer ‘聲明一個返回整數

Dim Salp As Integer ‘聲明一個返回整數

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地址中讀數

Text3.Text=Salp ‘在Text3中顯示

Salp

End Sub

兩個函數的調用過程如上所述,可根據編程的意圖放在任何位置。特別注意,函數地址不能與其它硬件的地址或系統內存地址沖突,否則會造成計算機死機。

本文采用雙端口RAM器件設計的智能型高速并行通訊卡,在監控軟件、硬件,以及在VB環境下對直接映象方式的高端內存進行讀寫操作的實現,具有通用性。尤其在自動控制領域設計A/D、D/A轉換、實現閉環控制,以及設計虛擬儀器、視頻信號數字化處理、語音處理、各種系統動態仿真等需要高速數據傳輸的場合,都具有借鑒意義。總之,智能化板卡在PC總線工業控制的應用,是今后發展的主流。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制系統
    +關注

    關注

    41

    文章

    6630

    瀏覽量

    110670
  • 接口
    +關注

    關注

    33

    文章

    8626

    瀏覽量

    151351
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1369

    瀏覽量

    114759
收藏 人收藏

    評論

    相關推薦

    智能型頂板離層儀的研制與應用

    智能型頂板離層儀的研制與應用根據頂板離層的測量原理, 結合現場實際, 提出了以霍爾元件為基礎的直線位移傳感器, 實現頂板離層量的非接觸測量, 采用以單片機為核心的微電子技術
    發表于 06-19 21:20

    如何判斷/區分智能型與非智能型編程器?

    如何判斷智能型與非智能型編程器?     智能型編程器的主要特征是自帶高速單片機。大多數智能型編程器產品選用MCS51系
    發表于 08-12 00:42

    基于FPGA的RAM實現及應用

    的應用。采用FPGA技術構造RAM,實現高速信號采集系統中的海量數據存儲和時鐘匹配。功能仿真
    發表于 04-24 09:44

    如何利用端口RAM實現PCI總線接口

    如何利用端口RAM實現PCI總線接口
    發表于 05-06 06:30

    怎么實現高速掃描采樣單片機與PC機接口板的設計?

    本文采用兩片端口RAM為信箱以ISA的形式完成單片機與PC機的高速
    發表于 05-31 06:40

    基于RAMCPU并行通信的研究與實現

    本文從現代通信系統的要求出發,詳細研究了利用RAM實現CPU 之間高速并行數據通信,
    發表于 08-26 11:56 ?40次下載

    高速掃描采樣單片機與PC機接口板的軟硬件設計

    為色譜-質譜聯用儀設計了高速采樣掃描接口電路。介紹了采用ISA形式以兩片端口
    發表于 07-16 15:39 ?11次下載

    基于Actel FPGA的端口RAM設計

    基于Actel FPGA 的端口RAM 設計端口RAM 芯片主要應用于
    發表于 11-15 17:44 ?82次下載

    端口RAM的并口設計應用

    端口RAM的并口設計應用 摘要:IDT7132/IDT7142是一種高速2k×8端口靜態
    發表于 03-03 19:25 ?1889次閱讀
    <b class='flag-5'>雙</b><b class='flag-5'>端口</b><b class='flag-5'>RAM</b>的并口設計應用

    端口RAM實現與PCI總線接口數據通訊

      提出了一種使用CPLD解決端口RAM地址譯碼和PCI接口芯片局部總線仲裁的的硬件設計方案,并給出了PCI總線接口芯片
    發表于 01-07 12:13 ?2066次閱讀
    用<b class='flag-5'>雙</b><b class='flag-5'>端口</b><b class='flag-5'>RAM</b><b class='flag-5'>實現</b>與PCI總線<b class='flag-5'>接口</b>數據<b class='flag-5'>通訊</b>

    基于端口RAM高速數據采集系統

    文章給出了一種基于端口 SRAM 技術高速數據采集系統的設計。采用高速
    發表于 07-13 17:59 ?99次下載
    基于<b class='flag-5'>雙</b><b class='flag-5'>端口</b><b class='flag-5'>RAM</b>的<b class='flag-5'>高速</b>數據采集系統

    端口RAM原理介紹及其應用

    傳統的并行接口和串行接口設計無論在通信速率,還是在可靠性方面都不易滿足要求。而端口RAM則是一個較好的
    發表于 12-29 09:45 ?2w次閱讀
    <b class='flag-5'>雙</b><b class='flag-5'>端口</b><b class='flag-5'>RAM</b>原理介紹及其應用

    端口RAM實現ARM與DSP高速數據通信設計

    本文通過使用IDT70261端口RAM實現了ARM與TMS320C6211 DSP之間的高速實時數據通信,給出了
    發表于 07-27 11:33 ?4129次閱讀
    <b class='flag-5'>雙</b><b class='flag-5'>端口</b><b class='flag-5'>RAM</b><b class='flag-5'>實現</b>ARM與DSP<b class='flag-5'>高速</b>數據通信設計

    并行端口接口為低壓系統供電

    SOT 降壓 DC-DC 轉換器可有效地從并行端口“竊取”電源,同時 SIM/智能卡電平轉換集成電路 (IC) 完成接口。這允許
    的頭像 發表于 01-10 15:15 ?1230次閱讀
    <b class='flag-5'>并行</b><b class='flag-5'>端口</b><b class='flag-5'>接口</b>為低壓系統供電

    fpgaram的使用

    FPGARAM的使用主要涉及配置和使用端口RAM模塊。
    的頭像 發表于 03-15 13:58 ?1032次閱讀
    主站蜘蛛池模板: yellow免费观看在线| 最新在线黄色网址| 麻豆国产精品va在线观看约| 国产精品成人观看视频免费| 扒开老师大腿猛进AAA片邪恶 | 亚洲欧洲日本天天堂在线观看| 色四房播播| 人妻中文字幕无码久久AV爆 | 99手机在线视频| 60岁老年熟妇在线无码| 中字幕视频在线永久在线| 真实的强视频免费网站| 中文字幕 日韩 无码 在线| 伊人久久综在合线影院| 伊人影院2019| 猪蜜蜜网站在线观看电视剧| 影音先锋av天堂| 最新男同鸭子ktv| 99国产精品欲AV蜜桃臀麻豆| 992交通广播| yellow日本动漫观看免费| 潮 喷女王cytherea| 风月宝鉴之淫乱英雄传 电影| 动漫美女的阴| 国产精品免费一区二区区| 国产亚洲精品 在线视频 香蕉| 国模丽丽啪啪一区二区| 精子pk美女| 美女被触手注入精子强制受孕漫画 | 国产h视频在线观看网站免费| 国产成人精品免费视频大全可播放的 | 亚洲你我色| 在线二区 中文 无码| 最近中文字幕MV免费高清视频8| 97国产精品人妻无码免费| tube日本护士| 国产福利一区二区精品| 国内精品欧美久久精品| 乱xxxjapanese黑人| 且试天下芒果免费观看| 推倒美女总裁啪啪|