Ⅰ LabVIEW2010如何設計USB通信介面比如讀取U盤文件等。
首先要安裝USB的驅動,可以由供應商提供,這種比較簡單。
也可以通過你安裝的NI-VISA生成INF文件,需要知道製造商和產品的ID號,
可以用VISA里的模塊進行通信,讀寫操作等
Ⅱ 單片機與PC機usb通信,有幾種設計思路請高手們介紹一下
USB轉串口CH341
調試程序如下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit DI=P3^5;
sbit RW=P3^6;
sbit E=P3^7;
sbit CS1=P3^3;
sbit CS2=P3^4;
sbit RST=P3^2;
uchar code hzXXJC[256] = {
0x00,0xFE,0x01,0x02,0xE0,0x00,0xE6,0x08,0xF0,0x0C,0xE2,0x01,0x00,0xC0,0x3F,0x20,
0x00,0xFF,0x00,0x00,0x1F,0x00,0x7F,0x40,0x4F,0x40,0x7F,0x00,0x06,0x61,0x8C,0x10,
0x00,0x04,0x44,0xE4,0x14,0x0C,0x74,0x84,0x34,0x44,0x04,0x00,0xFE,0x00,0x80,0x40,
0x00,0x08,0x08,0x0A,0x12,0x22,0xC2,0x22,0x12,0x08,0x12,0x14,0xFF,0x16,0x11,0x10,
0x00,0x04,0x04,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0x04,0x00,0xFE,0x80,0x40,0x20,
0x00,0x20,0x21,0x21,0x21,0x21,0x27,0x21,0x21,0xE1,0x39,0x26,0x23,0x20,0x20,0x00,
0x00,0x04,0x04,0x04,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,
0x00,0x40,0x41,0x41,0x41,0x41,0x41,0x7F,0x40,0x40,0x40,0x40,0x43,0x40,0x40,0x00,
0x00,0x0C,0x90,0xA0,0x80,0xFE,0x81,0xB2,0x88,0x04,0xF0,0x0C,0x02,0xC0,0x3F,0x20,
0x00,0x40,0x4F,0x4A,0x4A,0x4A,0x6A,0x5A,0x4F,0x40,0x7F,0x00,0x07,0x60,0x84,0x08,
0x00,0x0E,0x02,0xF2,0x22,0x22,0x22,0x22,0xFC,0x20,0x20,0x20,0x20,0xF0,0x00,0x00,
0x00,0x00,0x00,0x1F,0x12,0x12,0x12,0x12,0xFF,0x12,0x12,0x12,0x12,0x1F,0x00,0x00,
0x00,0x0E,0x02,0xF2,0x22,0x22,0x22,0x22,0xFC,0x20,0x20,0x20,0x20,0xF0,0x00,0x00,
0x00,0x00,0x00,0x1F,0x12,0x12,0x12,0x12,0xFF,0x12,0x12,0x12,0x12,0x1F,0x00,0x00,
0x00,0x40,0x44,0x4E,0xD8,0x60,0x40,0x40,0xF0,0x58,0x44,0x42,0x00,0xFF,0x00,0x00,
0x00,0x00,0x08,0x08,0x7F,0x08,0x08,0x08,0x7F,0x08,0x08,0x40,0xE8,0x1F,0x04,0x02,
};
uchar code hzdoo[256] = {
0x00,0x00,0xFC,0x02,0x04,0xC0,0x30,0x08,0x24,0x72,0xA0,0x30,0x10,0xD0,0x38,0x10,
0x00,0x00,0x0F,0x08,0x08,0xFF,0x08,0x08,0x04,0x24,0x24,0x24,0x27,0x24,0x24,0x04,
0x00,0x00,0x7E,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x7E,0x00,0xE0,0x18,0x04,0x02,
0x00,0x00,0x1E,0x12,0x12,0x12,0x52,0x72,0x92,0x12,0x12,0x12,0x1F,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xFC,0x04,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1C,0x13,0x00,0x13,0x1C,0x10,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x6C,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xE0,0x40,0x40,0x40,0x40,0xFF,0x40,0x40,0x40,0x40,0xE0,0x00,0x00,
0x00,0x00,0x10,0x3F,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x02,0x00,0x00,0x00,0x00,0xFF,0x00,0x80,0x40,
0x00,0x02,0x22,0x22,0x22,0x23,0x22,0x22,0x22,0x02,0x44,0xCE,0x63,0x21,0x10,0x08,
0x00,0x02,0x32,0x7A,0xA2,0x22,0x32,0x12,0x92,0x52,0x32,0x14,0x04,0xF8,0x04,0x02,
0x00,0x04,0x44,0x44,0x44,0x45,0x44,0x46,0x45,0x44,0x04,0x00,0x20,0x73,0x82,0x02,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x6C,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
uchar code hzWQD[256] = {
0x00,0x8C,0x90,0x20,0x0E,0x02,0x02,0x32,0x42,0x02,0x3C,0x00,0x80,0x9C,0x06,0x00,
0x00,0x00,0x20,0x21,0x21,0x22,0x24,0x29,0xF2,0x2C,0x22,0x21,0x20,0x20,0x20,0x00,
0x00,0x04,0x06,0x0C,0x30,0xC0,0x00,0x00,0xE0,0x18,0x04,0x02,0xFF,0x80,0x40,0x20,
0x00,0x04,0x04,0x34,0x64,0x87,0x04,0xFF,0x04,0x04,0x04,0x04,0xFF,0x00,0x0C,0x10,
0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x02,0x00,0x00,0x00,0x00,0xFF,0x00,0x80,0x40,
0x00,0x02,0x22,0x22,0x22,0x23,0x22,0x22,0x22,0x02,0x44,0xCE,0x63,0x21,0x10,0x08,
0x00,0x02,0x32,0x7A,0xA2,0x22,0x32,0x12,0x92,0x52,0x32,0x14,0x04,0xF8,0x04,0x02,
0x00,0x04,0x44,0x44,0x44,0x45,0x44,0x46,0x45,0x44,0x04,0x00,0x20,0x73,0x82,0x02,
0x00,0x00,0xFC,0x02,0x04,0xC0,0x30,0x08,0x24,0x72,0xA0,0x30,0x10,0xD0,0x38,0x10,
0x00,0x00,0x0F,0x08,0x08,0xFF,0x08,0x08,0x04,0x24,0x24,0x24,0x27,0x24,0x24,0x04,
0x00,0x00,0x7E,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x7E,0x00,0xE0,0x18,0x04,0x02,
0x00,0x00,0x1E,0x12,0x12,0x12,0x52,0x72,0x92,0x12,0x12,0x12,0x1F,0x00,0x00,0x00,
0x00,0x08,0x0C,0x18,0x10,0x20,0x40,0x80,0xFF,0x80,0x60,0x10,0x08,0x08,0x04,0x04,
0x00,0x02,0x02,0x12,0x12,0x12,0x12,0x12,0xFF,0x13,0x12,0x12,0x12,0x12,0x02,0x02,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x6C,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, };
/* ----------- LCD 驅動部分函數說明-------------*/
void delayy(uint v); /* 延時子函數說明 */
void reset();
void hzXXJCC(); /* 復位子函數說明 */
void lcdinit(); /* LCD初始化子函數說明 */
void clear_disp(); /* 清顯示屏子函數說明 */
void dispon_off(uchar on); /* 顯示屏開/關子函數說明 */
void wcode(uchar c,uchar cs1,uchar cs2); /* 寫命令子函數說明 */
void set_adr(uchar x,uchar y, uchar cs1,uchar cs2); /* 設置顯示位置(頁址x,
列址y,左區cs1,右區cs2) 子函數說明 */
void set_startline(uchar z); /* 設置顯示起始行z子函數說明 */
void wdata(uchar c,uchar cs1,uchar cs2); /* 寫顯示數據子函數說明 */
void hzXXJC_disp(); /* 顯示漢字子函數說明 */
void hzWQD_disp();
void hzdoo_disp();
void hzdee_disp();
void key(void);
void delay();
void delays();
int k,i;
void delay()
{for(i=0;i<30000;i++);}
uchar zdzt;
void main(void)
{delayy(10);
reset(); /* 復位 */
lcdinit(); /* 初始化 */
delayy(10);
hzXXJCC();
{
while(1)
{key();
if(zdzt==0x0c)
{P0=0xff;
hzWQD_disp();} /* 初始化 */
else if(zdzt==0x0a)
{P0=0xfe;
hzdee_disp();
delay();
}
else if(zdzt==0x0b)
{P0=0xfd;
hzdoo_disp();
delay();
}
}
}
}
void key(void)
{if(!(P1&0x01))
{delays();
while(!(P1&0x01));
zdzt=0x0a;
}
else if(!(P1&0x02))
{delays();
while(!(P1&0x02));
zdzt=0x0b;
}
else if(!(P1&0x04));
{delays();
while(!(P1&0x04))
zdzt=0x0c;
}
}
void delays()
{for(k=0;k<1200;k++);}
void delayy(uint v)
{while(v--);}
/* ---------------復位子函數部分--------------*/
void hzXXJCC()
{
P0=0xff;
hzXXJC_disp();
delay();
delay();
key();
if(zdzt==0x0c)
{P0=0xff;
hzWQD_disp();}
else
{delay();
delay();
P0=0xfe;
hzdee_disp();
delay();
P0=0xfd;
hzdoo_disp();}
}
void reset()
{RST=0;
delayy(20);
RST=1;
delayy(20);
}
/* ---------------LCD初始化子函數部分--------------*/
void lcdinit()
{clear_disp(); /* 清顯示屏 */
dispon_off(0); /* 關顯示 */
dispon_off(1); /* 開顯示 */
set_startline(0); /* 設置起始行為第0行 */
}
/* ---------------清顯示屏子函數部分--------------*/
void clear_disp()
{uchar i,j,x;
for(i=0;i<8;i++)
{x=i+0xb8;
wcode(x,1,1); /* 設置左右屏頁地址 */
wcode(0x40,1,1); /* 設置左右屏初始列地址 */
for(j=0;j<64;j++) /* 每清一位0, 列地址會自動加1 */
wdata(0x00,1,1); /* 向左右屏設置地址處寫顯示數據0x00,即清顯示屏 */
}
}
/* ---------------寫命令子函數部分--------------*/
void wcode(uchar c,uchar cs1,uchar cs2)
{CS1=cs1;
CS2=cs2;
DI=0;
RW=0;
P2=c;
E=0;
delayy(10);
E=1;
delayy(10);
E=0;
}
/* ---------------顯示屏開/關子函數部分--------------*/
void dispon_off(uchar on)
{on=on+0x3e;
wcode(on,1,1);
}
/* ---------------設置顯示位置(頁址x列址y)子函數部分--------------*/
void set_adr(uchar x,uchar y, uchar cs1,uchar cs2)
{ x=x+0xb8;y=y+0x40;
wcode(x,cs1,cs2);
wcode(y,cs1,cs2);
}
/* ---------------設置顯示起始行z子函數部分--------------*/
void set_startline(uchar z)
{z=z+0xc0;
wcode(z,1,1);
}
/* ---------------寫顯示數據子函數部分--------------*/
void wdata(uchar c,uchar cs1,uchar cs2)
{CS1=cs1;
CS2=cs2;
DI=1;
RW=0;
P2=c;
E=0;
delayy(10);
E=1;
delayy(10);
E=0;
}
void hzXXJC_disp() /* 顯示漢字點陣數組hzdot[]中序號為order的漢字 */
{uchar h,order;
set_adr(6,0,1,1); /* 設置左右區、第4頁(漢字上半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzXXJC[order*32+h],1,0); /* 寫左區漢字上半部 */
wdata(hzXXJC[order*32+h+128],0,1); /* 寫右區漢字上半部 */
}
}
set_adr(7,0,1,1); /* 設置左右區、第5頁(漢字下半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzXXJC[order*32+h+16],1,0); /* 寫左區漢字下半部 */
wdata(hzXXJC[order*32+h+16+128],0,1); /* 寫右區漢字下半部 */
}
}
}
void hzWQD_disp() /* 顯示漢字點陣數組hzdot[]中序號為order的漢字 */
{uchar h,order;
set_adr(4,0,1,1); /* 設置左右區、第4頁(漢字上半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzWQD[order*32+h],1,0); /* 寫左區漢字上半部 */
wdata(hzWQD[order*32+h+128],0,1); /* 寫右區漢字上半部 */
}
}
set_adr(5,0,1,1); /* 設置左右區、第5頁(漢字下半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzWQD[order*32+h+16],1,0); /* 寫左區漢字下半部 */
wdata(hzWQD[order*32+h+16+128],0,1); /* 寫右區漢字下半部 */
}
}
}
void hzdoo_disp() /* 顯示漢字點陣數組hzdot[]中序號為order的漢字 */
{uchar h,order;
set_adr(4,0,1,1); /* 設置左右區、第4頁(漢字上半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzWQD[order*32+h],1,0); /* 寫左區漢字上半部 */
wdata(hzdoo[order*32+h+128],0,1); /* 寫右區漢字上半部 */
}
}
set_adr(5,0,1,1); /* 設置左右區、第5頁(漢字下半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzWQD[order*32+h+16],1,0); /* 寫左區漢字下半部 */
wdata(hzdoo[order*32+h+16+128],0,1); /* 寫右區漢字下半部 */
}
}
}
void hzdee_disp() /* 顯示漢字點陣數組hzdot[]中序號為order的漢字 */
{uchar h,order;
set_adr(4,0,1,1); /* 設置左右區、第4頁(漢字上半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzWQD[order*32+h],1,0); /* 寫左區漢字上半部 */
wdata(hzdoo[order*32+h],0,1); /* 寫右區漢字上半部 */
}
}
set_adr(5,0,1,1); /* 設置左右區、第5頁(漢字下半部)、第0列地址 */
for(order=0;order<4;order++)
{for(h=0;h<16;h++)
{wdata(hzWQD[order*32+h+16],1,0); /* 寫左區漢字下半部 */
wdata(hzdoo[order*32+h+16],0,1); /* 寫右區漢字下半部 */
}
}
}
把程序寫入單片機!下串口調試軟體和下位機對接!隨便發送命令~!如果能正常接收!說明你的單片機和PC機通信成功!
Ⅲ 用vc++實現usb介面通信編程的一般步驟
我來說下我做過的USB通信,我沒有做過DSP跟上位機的通信,我只做過ARM類的STM32跟上位機的數據傳遞,雖然做過但是也不是很 懂,只是略知一二,我來說說我怎麼做的吧,我是這么實現的:
USB是個很復雜的協議,你如果完全搞懂,我估計沒有幾個月專心鑽研是不行的,但是如果只是能實現你的這個功能,我估計不是很復雜。
首先來說說USB通信:
USB通信傳輸方式分為四種:控制,中斷,批量,同步傳輸四種,這個你可以看看網上資料,然後我用STM32通信,因為數據量不是很大,我用的是中斷傳輸方式,但是DSP數據量應該會比較大,不知道中斷傳輸行不行,但是一般問題不大。
傳輸方式說完了,再說說USB設備類型,你每次插usb設備到電腦上的時候就會有提示,這是一個什麼設備,USB設備類型就是說的這個意思,是滑鼠還是鍵盤還是別的什麼的,如果你選用標準的類,你就不用自己寫上位機(PC)的驅動程序,但是如果不用標準的類,就是用自定義的類就要自己寫上層的設備驅動程序,就是所謂的DDK,WDM,WDF什麼的,你沒寫過這方面的還真有點棘手,但是也不一定要寫驅動程序,你可以試試有個類叫HID類,這個類在USB通信的時候用的還挺多的,不過這個類也有缺點,這個地方還要說一點,USB還分低速,全速,高速三種,不太了解DSP,不知道他支持什麼模式,但是USB2.0的全速應該至少可以支持的。
USB2.0全速模式HID用中斷方式每秒最多可以傳輸64KB的數據,不知道能不能達到你的要求,但是我估計一般問題不大了,如果你這歀DSP能支持高速模式,每秒用這種方式可以傳輸高達22MB的數據,這個速度一般問題不大了。
你可以照著我說的思路,去網上搜搜人家寫好的程序,肯定有人做過DSP的USB通信,然後你按照自己的要求改一改,主要應該是USB的設備描述符部分要自己修改,然後可能還要根據自己的電路改改配置什麼的,上位機軟體網上有源代碼的多的是,然後自己摸索摸索,我估計你要是編程水平還可以的話,只是摸索USB,一兩個星期完全沒有問題,祝你好運!
Ⅳ (高分答謝)如何用USB介面實現兩台計算機之間的通信
USB(Universal Serial Bus),即通用串列匯流排。本節所介紹的USB Link電纜連接方式,便是利用計算機的USB介面,實現雙機的互聯功能。
一、關於USB Link電纜
市面上有多種USB Link電纜,不同種類和型號的電纜其功能略有不同,本文向大家介紹一款名為USB Link—100的雙機互聯電纜,其他類型USB Link電纜的安裝和使用方法與它基本相同。
1.USB Link電纜的特點
USB Link—100電纜貌似一條普通的USB介面連接電纜,但中間多了一個「包」。USB Link—100的核心功能就集中在這個「包」中。從嚴格意義上講,USB Link—100電纜應該稱之為USB Data Bridge Cable(USB數據橋電纜),它是一條通過USB介面連接的雙機連接線。它的功能是實現兩台計算機之間的連接,並互享對方的資源,這些資源包括文件、軟碟機、光碟機和列印機。通過USB Link—100連接後,對方計算機上幾乎所有的資源都可以被共享,這與網卡連接、直接電纜連接和MODEM連接等方式有很大的區別。
值得提醒大家的是:有些用戶可能會通過普通USB電纜來連接兩台計算機,其實這種做法是非常危險的,很有可能會損壞主板。即使沒有損壞主板,使用這種方法也無法實現兩台計算機之間的互聯。不過,最近新出的某些型號的主板上已經集成了USB連結功能,如微星(MSI)的815EP-PRO等主板,只需普通USB電纜就可實現雙機互連。
2.USB Link電纜對計算機硬體的要求
因為USB Link電纜必須要通過USB介面連接,所以被連接的兩台計算機上都應同時具有USB介面。近一兩年來購置的計算機大都能夠滿足此要求。如果您的計算機上沒有USB介面,卻一定要使用USB Link電纜進行連接,則需要購買一塊USB介面卡。再將USB介面卡安裝在一台Intel 486DX—66以上的電腦上,使能保證使用USB Link電纜進行連接。
3.USB Link電纜對操作系統的要求
在使用USB設備時,首先要保證操作系統能夠支持USB連接功能。因為USB介面標準的推出時間相對較晚,所以只有Windows 95 0SR2.1、Windows 98、Windows NT4.0、Windowe Me和Windows 2000提供支持。
二、USB Link電纜的安裝
USB Link電纜的安裝包括硬體的安裝和軟體的安裝兩部分,其中軟體部分使用一個獨立的名為SMART—Linq的程序。在兩次安裝中都要用到隨電纜所附帶的一張軟盤。
1.USB Link—100電纜的安裝
USB設備支持即插即用和熱插拔功能,USBLink—100也不例外。所以,只要需要,隨時都可以將它插入計算機的USB介面上。此時,計算機就會自動分配地址,用戶不需要進行任何物理參數的設置。並且,USB設備的連接可以在開機狀態下直接進行,不需要關閉計算機的電源。不過,在計算機的軟、硬體都能滿足USB功能的前提下,還要保證在CMOS參數設置中,將USB一項設置為有效(Enable)狀態。如果設置為禁止(Disable)狀態,USB設備將無法工作。
當第一次接入USB Link—100電纜時,系統會提示發現新硬體,接著出現安裝向導。將隨電纜附帶的一張軟盤插入軟碟機中接著選擇「自動搜索更好的驅動程序」一項,系統便從軟盤讀取所需的信息,接著出現選擇USB BridgeCable的對話框。如果在Windows 95 0SR2.1/98/Me中安裝,則選擇對話框中的第二項(A:\WIN95\USBBC95.INF);如果在WindowsNT4.0下安裝,可選擇第三項(A:\USBBC.INF);A:\WIN2000\USBBC20.INF是提供給Windows 2000操作系統的。選擇好對應的驅動程序名後,單擊「完成」按鈕,系統將從軟盤復制所需的驅動程序,最後出現提示信息,單擊「完成」結束。在另一台計算機上用同樣的方法進行硬體的安裝。
2.SMART—Linq程序的安裝
SMART—Linq程序的安裝方法非常簡單,只須雙擊軟盤中的setup.exe文件,一路「next」下去即可。安裝結束後,在「開始/程序」的下一級菜單中將會出現一個名為「PC—Linq」的菜單項,通過選擇該菜單下的項目便可進行有關的操作。同時,安裝程序還會在桌面上建立一個PC—Linq的快捷菜單。在另一台計算機上用同樣的方法安裝SMART—Linq程序。
三、雙機互聯的應用
經過以上硬體和軟體的安裝和設置後,用戶就可以使用USB Link電纜進行兩台計算機之間的通信了。包括文件的傳輸、共享對方計算機上的資源等。分別在兩台計算機上運行SMART—Linq程序(雙擊桌面上的PC—Linq圖標或選擇「開始/程序/PC—Linq」菜單下的「PC—Linq」功能項),將出現與Windows操作系統中的「資源管理器」很相似的操作窗口,只是PC—Linq窗口由上下兩部分組成:一般上半部分顯示的是本地計算機(Local Machine)上的資源,而下半部分顯示的是遠程計算機(Remote Machine)上的資源。兩台計算機之間的操作都在這個窗口中進行。
1.文件操作功能
像Windows下的「資源管理器」一樣,PC—Linq窗口中的操作同樣支持復制、粘帖、創建、刪除和直接拖曳等功能。概括地說,PC—Linq的功能基本上是對「資源管理器」的克隆。只不過「資源管理器」只能管理本地計算機上的資源,而PC—Linq窗口卻能同時管理兩台計算機上的資源。
2.共享對方計算機上的資源
除以上所介紹的常用功能外,在PC—Linq窗口中還可以共享另一台計算機的軟碟機、光碟機、文件和列印機等資源。其中,共享對方的軟碟機、光碟機和列印機時,無論從操作方式還是從速度上看,與在本地計算機上幾乎沒有什麼區別;如果對方計算機上的應用程序沒有嚴格的鏈接要求,一般都能通過調用在本地計算機上運行。其他的如WAV、MP3及一些文本文件都可以直接在本地計算機上順利地調用。
在從計算機上拔掉USB Link電纜之前一定要先關閉本地的PC—Linq窗口,否則會因終斷連接而產生藍屏,甚至是死機。
四、USB Link電纜雙機互聯的優、缺點
1.使用方便,操作簡單
USB Link電纜的軟硬體安裝都很方便,幾乎不需要任何與網路有關的知識。使用時,只需要將兩台計算機連接起來,分別運行SMART—Linq程序後就可以進行兩台計算機之間的任何操作,而不需要其它的設置。這很適合於筆記本電腦之間、筆記本電腦與台式機之間的連接。因為在這些連接中,其中至少有一方經常是不固定的。
雙機通過USB Link電纜互聯後,兩台計算機幾乎可以被看做一台計算機來使用。即使對方(包括本地)計算機上的文件和文件夾已設置了「隱藏」屬性,在PC—Linq窗口中都會全部「暴露」出來。這在方便操作的同時,也使對方的計算機連一點「隱私」都沒有。另外,連接雙方不存在主機和客戶機之分,兩台被連接計算機的功能和地位是同等的。
2.連接速度相對較快
本節中所使用的USB Link電纜的連接速度在說明書上標明為4Mbps(目前市面上的同類設備一般都達到了8Mbps)。此速度雖然是USB介面的最低速度(USB介面提供的速度范圍是4—12Mbps),但與通過並口、串口及MODEM連接相比,即使是4Mbps的連接速度也已經遠遠高出了許多。這種連接速度,已基本能夠滿足兩台計算機之間如文件傳輸、共享資源等日常需要。
3.連接距離短,價格較高
USB Link電纜的長度一般不超過3米,這對於緊鄰的兩台計算機來說也許已經夠用了,但當兩台計算機之間的距離較遠(如位於不同的房間)時,就無能為力了。而且,此類電纜又沒有提供可選的加長電纜或設備。另外,每根300元上下的售價,使用戶感覺到有些物非所值。
Ⅳ 幫忙提供USB電路圖及工作原理
工作原理:
一個USB系統可以從三個方面加以描述:USB互連、USB從埠和USB主埠。
USB互連
USB互連是指一個USB主埠(USB Host)與USB從埠相連並和其通信的方式,它包括以下幾方面。
匯流排的拓撲結構:USB主埠和USB從埠的連接模式。
數據流模型:描述了數據在系統中通過USB從產生方到使用方的流動方式。
任務規劃:USB提供多個從埠共享的連接,對USB從埠必須進行規劃以分配帶寬。
USB主埠
USB主機是USB系統的核心,在一個USB系統中只有一個主埠主埠的USB介面稱為USB控制器,通過它主機和外圍USB設備進行通信。在主機中還集成了一個根集線器(Root Hub),用於直接與外設相連或與一般USB Hub級連。
USB從埠
USB從埠包括USB集線器和功能設備(Function)兩大類。它們都必須有標準的USB介面,理解USB協議,支持標準的USB操作(如配置、復位等)。它們的描述信息也必須具有USB協議定義的標准格式。
集線器為USB匯流排提供擴展和連接;功能設備是具有一定特殊應用功能的設備,它能發送數據到主機,也可以接收來自主機的數據和控制信息。
(5)USB通信裝置設計擴展閱讀
介面布置
USB是一種常用的pc介面,他只有4根線,兩根電源兩根信號,故信號是串列傳輸的,usb介面也稱為串列口,usb2.0的速度可以達到480Mbps。可以滿足各種工業和民用需要.USB介面的輸出電壓和電流是: +5V 500mA 實際上有誤差,最大不能超過+/-0.2V 也就是4.8-5.2V 。
usb介面的4根線一般是下面這樣分配的,需要注意的是千萬不要把正負極弄反了,否則會燒掉usb設備或者電腦的南橋晶元:黑線:gnd 紅線:vcc 綠線:data+ 白線:data-
USB介面定義圖
USB介面定義 顏色
一般的排列方式是:紅白綠黑從左到右
定義:
紅色-USB電源: 標有-VCC、Power、5V、5VSB字樣
白色-USB數據線:(負)-DATA-、USBD-、PD-、USBDT-
綠色-USB數據線:(正)-DATA+、USBD+、PD+、USBDT+
黑色-地線: GND、Ground[4]
Ⅵ 單片機通過USB介面與計算機通訊電路圖
如圖所示:需要單片機51,溫度感測器18B02。USB轉RS485的轉串口線。直接用serialport控制項,設置通訊參數,然後向串口發數據。
比如發1,然後使用事件觸發接收單片機的數據,如果兩側通訊沒問題,電腦會收到2,然後把它顯示出來或者做其他處理。
(6)USB通信裝置設計擴展閱讀:
控制器由程序計數器、指令寄存器、指令解碼器、時序發生器和操作控制器等組成,是發布命令的「決策機構」,即協調和指揮整個微機系統的操作。其主要功能有:
(1) 從內存中取出一條指令,並指出下一條指令在內存中的位置。
(2) 對指令進行解碼和測試,並產生相應的操作控制信號,以便於執行規定的動作。
(3) 指揮並控制CPU、內存和輸入輸出設備之間數據流動的方向。
微處理器內通過內部匯流排把ALU、計數器、寄存器和控制部分互聯,並通過外部匯流排與外部的存儲器、輸入輸出介面電路聯接。
外部匯流排又稱為系統匯流排,分為數據匯流排DB、地址匯流排AB和控制匯流排CB。通過輸入輸出介面電路,實現與各種外圍設備連接。
Ⅶ usb 詳細介紹
USB是英文Universal Serial BUS的縮寫,中文含義是「通用串列匯流排」。它不是一種新的匯流排標准,而是應用在PC領域的介面技術。USB是在1994年底由英特爾、康柏、IBM、Microsoft等多家公司聯合提出的。不過直到近期,它才得到廣泛地應用。從1994年11月11日發表了USB V0.7版本以後,USB版本經歷了多年的發展,到現在已經發展為2.0版本,成為目前電腦中的標准擴展介面。目前主板中主要是採用USB1.1和USB2.0,各USB版本間能很好的兼容。USB用一個4針插頭作為標准插頭,採用菊花鏈形式可以把所有的外設連接起來,最多可以連接127個外部設備,並且不會損失帶寬。USB需要主機硬體、操作系統和外設三個方面的支持才能工作。目前的主板一般都採用支持USB功能的控制晶元組,主板上也安裝有USB介面插座,而且除了背板的插座之外,主板上還預留有USB插針,可以通過連線接到機箱前面作為前置USB介面以方便使用(注意,在接線時要仔細閱讀主板說明書並按圖連接,千萬不可接錯而使設備損壞)。而且USB介面還可以通過專門的USB連機線實現雙機互連,並可以通過Hub擴展出更多的介面。USB具有傳輸速度快(USB1.1是12Mbps,USB2.0是480Mbps),使用方便,支持熱插拔,連接靈活,獨立供電等優點,可以連接滑鼠、鍵盤、列印機、掃描儀、攝像頭、快閃記憶體檔、MP3機、手機、數碼相機、移動硬碟、外置光軟碟機、USB網卡、ADSL Modem、Cable Modem等,幾乎所有的外部設備。 USB是一個外部匯流排標准,用於規范電腦與外部設備的連接和通訊。USB介面支持設備的即插即用和熱插拔功能。 USB介面可用於連接多達127種外設,如滑鼠、數據機和鍵盤等。USB自從1996年推出後,已成功替代串口和並口,並成為當今個人電腦和大量智能設備的必配的介面之一。 USB使用一個四針的插頭作為標准插頭,採用菊花鏈形式可以把所有的外設連接起來。 USB的版本 第一代:USB 1.0/1.1的最大傳輸速率為12Mbps。1996年推出。 第二代:USB 2.0的最大傳輸速率高達480Mbps。USB 1.0/1.1與USB 2.0的介面是相互兼容的。 第三代:USB 3.0 理論上4.8Gbps 向下兼容USB 1.0/1.1/2.0 usb的應用: 隨著計算機硬體飛速發展,外圍設備日益增多,鍵盤、滑鼠、數據機、列印機、掃描儀早已為人所共知,數碼相機、MP3隨身聽接踵而至,這么多的設備,如何接入個人計算機?USB就是基於這個目的產生的。USB是一個使計算機周邊設備連接標准化、單一化的介面,其規格是由Intel、NEC、Compaq、DEC、IBM、Microsoft、Northern Telecom聯系制定的。 USB1.1標准介面傳輸速率為12Mbps,但是一個USB設備最多隻可以得到6Mbps的傳輸頻寬。因此若要外接光碟機,至多能接六倍速光碟機,無法再高。而若要即時播放MPEG-1的VCD影片,至少要1.5Mbps的傳輸頻寬,這點USB辦得到,但是要完成數據量大四倍的MPEG-2的DVD影片播放,USB可能就很吃力了,若再加上AC-3音頻數據,USB設備就很難實現即時播放了。 一個USB介面理論上可以支持127個裝置,但是目前還無法達到這個數字。其實,對於一台計算機,所接的周邊外設很少有超過10個的,因此這個數字是足夠我們使用的。 USB還有一個顯著優點就是支持熱插拔,也就是說在開機的情況下,你也可以安全地連接或斷開USB設備,達到真正的即插即用。 不過,並非所有的Windows系統都支持USB。目前,Windows系統中有許多不同的版本,在這些版本中,只有Windows98以上版本的系統對USB的支持較好,而其他的Windows版本並不能完整支持USB。例如Windows95的零售版是不支持USB的,只有後來與PC捆綁銷售的Windows95版本才支持USB。 目前USB設備雖已被廣泛應用,但比較普遍的卻是USB1.1介面,它的傳輸速度僅為12Mbps。舉個例子說,當你用USB1.1的掃描儀掃一張大小為40M的圖片,需要4分鍾之久。 這樣的速度,讓用戶覺得非常不方便,如果有好幾張圖片要掃的話,就得要有很好的耐心來等待了。 用戶的需求,是促進科技發展的動力,廠商也同樣認識到了這個瓶頸。這時, COMPAQ、Hewlett Packard、Intel、Lucent、Microsoft、NEC和PHILIPS這7家廠商聯合制定了USB 2.0介面標准。USB 2.0將設備之間的數據傳輸速度增加到了480Mbps,比USB 1.1標准快40倍左右,速度的提高對於用戶的最大好處就是意味著用戶可以使用到更高效的外部設備,而且具有多種速度的周邊設備都可以被連接到USB 2.0的線路上,而且無需擔心數據傳輸時發生瓶頸效應。 所以,如果你用USB 2.0的掃描儀,就完全不同了,掃一張40M的圖片只需半分鍾左右的時間,一眨眼就過去了,效率大大提高。 而且,USB2.0可以使用原來USB定義中同樣規格的電纜,接頭的規格也完全相同,在高速的前提下一樣保持了USB 1.1的優秀特色,並且,USB 2.0的設備不會和USB 1.X設備在共同使用的時候發生任何沖突。 USB2.0兼容USB1.1,也就是說USB1.1設備可以和USB2.0設備通用,但是這時USB2.0設備只能工作在全速狀態下(12Mbit/s)。USB2.0有高速、全速和低速三種工作速度,高速是480Mbit/s,全速是12Mbit/s,低速是1.5Mbit/s。其中全速和低速是為兼容USB1.1而設計的,因此選購USB產品時不能只聽商家宣傳USB2.0,還要搞清楚是高速、全速還是低速設備。USB匯流排是一種單向匯流排,主控制器在PC機上,USB設備不能主動與PC機通信。為解決USB設備互通信問題,有關廠商又開發了USB OTG標准,允許嵌入式系統通過USB介面互相通信,從而甩掉了PC機。
Ⅷ USB介面是誰發明的什麼來歷
USB是英文Universal Serial Bus的縮寫,翻譯成中文就是「通用串列匯流排」,也稱通用串聯介面。也許對於這個稱呼你並不熟悉,直接稱呼「USB」你就應該聽說過吧。那麼USB又什麼功能?它為什麼現在能為人們所青睞呢?
計算機硬體飛速發展,外圍設備日益增多,鍵盤、滑鼠、數據機、列印機、掃描儀早為人所共知,數碼相機、MP3隨身聽接踵而至,要真有了這么多的設備,該接到計算機的哪兒?USB就是基於此產生的。USB是一個使計算機周邊設備連接標准化、單一化的介面。USB的規格是由Intel、NEC、Compaq、DEC、IBM、Microsoft、NorthernTelecom聯系制定的。
USB標准介面傳輸速率為12Mbps。但是請讀者注意,一個USB設備最多隻可以得到6Mbps的傳輸頻寬。因此若要外接光碟機,至多能接六倍速光碟機而已,無法再高。而若要即時播放MPEG-1的VCD影片,至少要1.5Mbps的傳輸頻寬,這點USB辦得到,但是要完成數據量大四倍的MPEG-2的DVD影片播放,USB可能就很吃力了,若再加上AC-3音頻數據,USB設備就很難實現即時播放了。
一個USB介面理論上可以支持127個裝置,但是目前還無法達到這個數字。其實,對於一台計算機,所接的周邊外設很少有超過10個的,因此這個數字是足夠我們使用的。
USB還有一個顯著優點就是支持熱插拔,也就是說在開機的情況下,你也可以安全地連接或斷開USB設備,達到真正的即插即用。
不過,並非所有的Windows系統都支持USB。目前,Windows系統中有許多不同的版本,在這些版本中,只有Windows98以上版本的系統對USB的支持較好,而其他的Windows版本並不能完整支持USB。例如Windows95的零售版是不支持USB的,只有後來與PC捆綁銷售的Windows95版本才支持USB。
目前USB設備雖已被廣泛應用,但比較普遍的卻是USB1.1介面,它的傳輸速度僅為12Mbps。舉個例子說,當你用USB1.1的掃描儀掃一張大小為40M的圖片,需要4分鍾之久。 這樣的速度,讓用戶覺得非常不方便,如果有好幾張圖片要掃的話,就得要有很好的耐心來等待了。
用戶的需求,是促進科技發展的動力,廠商也同樣認識到了這個瓶頸。這時, COMPAQ、Hewlett Packard、Intel、Lucent、Microsoft、NEC和PHILIPS這7家廠商聯合制定了USB 2.0介面標准。USB 2.0將設備之間的數據傳輸速度增加到了480Mbps,比USB 1.1標准快40倍左右,速度的提高對於用戶的最大好處就是意味著用戶可以使用到更高效的外部設備,而且具有多種速度的周邊設備都可以被連接到USB 2.0的線路上,而且無需擔心數據傳輸時發生瓶頸效應。
所以,如果你用USB 2.0的掃描儀,就完全不同了,掃一張40M的圖片只需半分鍾左右的時間,一眨眼就過去了,效率大大提高。
而且,USB2.0可以使用原來USB定義中同樣規格的電纜,接頭的規格也完全相同,在高速的前提下一樣保持了USB 1.1的優秀特色,並且,USB 2.0的設備不會和USB 1.X設備在共同使用的時候發生任何沖突。
另外,在軟體方面,Windows是完整的支持USB 1.X,對於USB 2.0,系統可以認出,而且能夠正常工作,但是USB 2.0並不能充分發揮其性能優勢,系統檢測到USB 2.0的設備後,會提示說你的USB設備需要優化。現在還沒有完全支持USB 2.0的WINDOWS系統,而LINUX、MACOS、BEOS到是走到了前面,都有了相關的軟體支持或者系統程序包。不過可以肯定的是,當帶有USB 2.0規格的產品出現的時候,Windows會非常快的跟上的。現在WINDOWS XP已經會完全支持USB 2.0設備,不過當系統主板一旦支持USB 2.0的時候微軟將會很快推出USB 2.0的補丁。所以我們可以說,由於得到INTEL和微軟的支持,USB2.0標准已成為下一代周邊設備介面的重要趨勢。
USB2.0兼容USB1.1,也就是說USB1.1設備可以和USB2.0設備通用,但是這時USB2.0設備只能工作在全速狀態下(12Mbit/s)
USB2.0有高速、全速和低速三種工作速度,高速是480Mbit/s,全速是12Mbit/s,低速是1.5Mbit/s
其中全速和低速是為兼容USB1.1而設計的
因此選購USB產品時不能只聽商家宣傳USB2.0,還要搞清楚是高速、全速還是低速設備
USB匯流排是一種單向匯流排,主控制器在PC機上,USB設備不能主動與PC機通信
為解決USB設備互通信問題,有關廠商又開發了USB OTG標准,允許嵌入式系統通過USB介面互相通信,從而甩掉了PC機
Ⅸ 基於USB的數據採集系統的設計
一、意義
這種溫度採集系統便於和電腦連接,利用網路可做成遠程系統。
二、研究內容
1、溫度採集感測器的原理及選型,如採用鉑電阻還是熱電偶;
2、感測器信號的處理;
3、微處理器或DSP應用技術;
4、USB晶元的使用,主要指編寫下位機通信程序。
三、研究方法
1、找一本基礎的書,先學習基礎知識;
2、如身邊有高手,請教,這樣來得快;
3、上網查找資料,這種東西或許網上就有現成的電路或程序。
四、USB主機
USB是連接PC與外圍設各的介面。估計你關心的還是USB控制器,即你要完成的控制系統的USB控制晶元。你的系統要和上位機(即微機)進行通訊,你的系統里肯定得有一塊USB控制晶元,或者具有USB介面功能的微處理器。