外部設備如何將數據傳給電腦呢?無非就是看電腦上都有什么接口提供給你來傳輸數據使用,可該如何選擇這些接口呢?
首先,先來看下電腦提供給用戶作為數據傳輸的接口有哪些:
1、并口
并口又稱為并行接口。目前,并行接口主要作為打印機端口,采用的是25 針D 形接頭。所謂“并行”,是指8 位數據同時通過并行線進行傳送,這樣數據傳送速度大大提高,但并行傳送的線路長度受到限制,因為長度增加,干擾就會增加,數據也就容易出錯。目前計算機基本上都配有并口。
2、串口
串口叫做串行接口,現在的PC 機一般有兩個串行口COM 1 和COM 2 。串行口不同于并行口之處在于它的數據和控制信息是一位接一位地傳送出去的。雖然這樣速度會慢一些,但傳送距離較并行口更長,因此若要進行較長距離的通信時,應使用串行口。通常COM 1 使用的是9 針D 形連接器,也稱之為RS-232接口,而COM 2 有的使用的是老式的DB25 針連接器,也稱之為RS-422接口,不過目前已經很少使用。
3、USB接口
USB 即“Universal Serial Bus ”,中文名稱為通用串行總線。這是近幾年逐步在PC 領域廣為應用的新型接口技術。USB接口具有傳輸速度更快,支持熱插拔以及連接多個設備的特點。目前已經在各類外部設備中廣泛的被采用。目前USB接口有兩種:USB1.1和USB2.0。理論上USB1.1的傳輸速度可以達到12Mbps/秒,而USB2.0則可以達到速度480Mbps/秒,并且可以向下兼容USB1.1。
除以上接口之外,電腦還提供了一些擴展槽給用戶用來進行傳輸,例如:ISA插槽、EISA插槽、VESA插槽及PCI插槽等。但由于這些數據接口都位于電腦主板上,使用時需要把電腦主機打開,才能把設備連接到電腦上,很是麻煩,這里不再介紹。
那么我們該選用什么接口來方便快速的傳輸數據呢?
并口,由于速度的局限性導致其逐漸被淘汰,目前大多只有臺式機連接某些打印機使用,而筆記本電腦更是直接去掉了并口。
串口,也就是COM1口,也稱之為RS-232接口。RS-232接口有著簡單的協議,操作方便而被很多人用作數據傳輸使用,但由于RS-232屬于單端信號傳送,存在共地噪聲和不能抑制共模干擾等問題,因此一般用于20m以內的通信;并且由于其電氣特點,傳輸速度一般只有每秒50、75、100、150、300、600、1200、2400、4800、9600、19200、115200波特。
USB接口,目前市面上主要都是USB2.0接口,它只有4根線,兩根電源兩根信號,故信號是串行傳輸的,但它的傳輸速率達到了480Mbps,轉換為MB為60MB/s,足以滿足大多數外設的速度要求;由于USB接口的信號線是一組差分線,所以能很好抑制共地噪聲和共模干擾等,并且支持熱插拔。
很明顯USB接口各項特性都滿足我們的“方便、快速”的宗旨。如果我們的設備是類似于U盤、鼠標、鍵盤等通用的設備時,操作系統里就有他們的驅動了,我們連接上設備就可以直接使用。
如果我們的設備不是這些通用的設備時,我們該如何讓系統識別我們自己的USB設備,并傳輸數據呢?
1、 自己遵照USB2.0協議來編寫USB2.0協議來傳輸自己的數據;
2、 使用協議封裝芯片,來傳輸自己的數據。
第一種方法,由于USB2.0協議過于復雜,不是什么人都能編寫出來的,對于大多數人來說不太適合。
第二種方法,目前最流行的USB協議封裝芯片是Cypress(賽普拉斯)公司的CY7C68013系列芯片了,該芯片將USB協議完全封裝起來了,你只要對芯片進行一些編程設置,就可以有屬于自己的USB接口了。相比于第一種方法,復雜度降低了很多,而且開發周期也縮短了很多。但該方法要求用戶對CY7C68013系列芯片的內部結構比較熟悉,所以也有一定難度。
這時肯定有人問了,有沒有一種我們不需要了解什么CY7C68013系列芯片的內部結構,也不需要對其編程,我們只想發送什么數據,電腦就收到什么數據的一種芯片,或者模塊呢?
下面我將給大家介紹一款不需要用戶進行太多的操作,就能實現用戶想發送什么數據,就收到什么數據的一款模塊:USB20D模塊。
USB20D模塊是一塊USB協議封裝模塊,它將USB協議完全的封裝起來了,不需要用戶對其進行任何的編程操作。USB20D模塊面對用戶提供的是最簡單的并行總線,
用戶只要按照普通并行接口的操作就可以通過USB接口發送或接收自己的數據了,而且是你發送什么數據就收到什么數據,不會牽扯到任何有關USB協議的問題。而且傳輸速度是32MB/s(字節/每秒),這里是純數據的速度。
這時肯定會有疑問,USB2.0的傳輸速度不是60MB/s嗎?首先60MB/s這是理論的最高速度,實際是有偏差的;然后這60MB/s的速度中包含有USB協議的部分在其中,所以純數據速度是達不到60MB/s的。
對于上位機來說,USB20D提供了操作系統的底層驅動以及 .dll(動態鏈接庫)文件以及一個示例軟件(包含源程序)。.dll文件將所有對模塊的操作封裝成一個個函數,在使用時,用戶只需要掌握一種上位機編程語言(VC,VB,Delphi等)或在.NET,LabView,CVI等平臺下,調用其中的函數,就可以完成相應的操作,十分簡單。此外,示例軟件包含了USB20D模塊所有的功能操作,界面簡單,操作方便,最重要的是它可以把傳輸上來的數據保存成十六進制文件,用戶要處理數據,直接對文件進行操作就可以了。對于大多數人使用來說,該軟件就可以滿足他們的需求,如果不想要示例軟件,用戶也可以參照根據示例軟件的源程序快速的開發出屬于自己的軟件,大大縮短了開發周期。
說了這么多,可能有些眼花了吧,總結一下,USB20D模塊有以下幾個特點:
1. 完全屏蔽了復雜的USB協議,用戶不需要了解任何關于USB總線或協議的內容就可以使用USB接口進行數據傳輸;
2. 傳輸速度快,批量傳輸數據速度最高可達32MB/s(有效數據傳輸速度);
3. 操作簡單,對于上位機操作系統來說,用戶只需要會一種高級語言或平臺,會調用動態連接庫及函數就可以通過USB口進行數據傳輸,或直接使用提供的示例軟件;對于下位機設備來說,提供最簡單的并行數據總線及一些控制信號。