打印

EasyUSB模块(USB转I/O,USB转并口,USB转串口)

[复制链接]
1485|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
schoolboy|  楼主 | 2008-6-11 07:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
 对于想开发电脑互动型仪器设备、乐器、玩具等用户来说,这是一个好东东。



    市面上带USB接口的单片机比比皆是,但是这些芯片对于产品开发者来说,都要面临三个关卡。
一是需要在单片机上编写相应的程序,同时要具备这样的前提:不仅要熟悉该单片机的脾气(如果是汇编指令则更费时费力),而且要也要懂USB编程相关的协议。
二是在PC端编写的应用程序是以USB通信为基础的,所以开发者必须要熟悉USB编程的相关协议和知识,而USB的协议是非常庞杂的。
三是单片机硬件搭建的时间和资金成本。不仅要设计和焊接单片机的开发板,还需要购买该单片机的仿真器、烧录器。如果是OTP型的单片机,则更加麻烦。
而EasyUSB正是为解决上述关卡而产生的。即不需要写单片机程序,不需要熟悉USB编程知识和协议,不需要购买单片机开发的相关设备等。

那么,EasyUSB究竟是什么玩意呢?
它是由一个USB专用芯片做成的模块+PC机上完整的应用程序(可二次开发的C++语言源代码)组成的开发套件。有了它,在你需要做一个USB产品开发时,所有要做的就是在PC上修改源代码、调用几个函数读写I/O口。而且该专用芯片的批量价格也是相当便宜。
EasyUSB所用芯片资源示意图如下:
http://www.schoolboy.com.cn/pic/digi/0001_IC.jpg

此芯片是一款USB转并行口、串口、SPI、IIC等接口的芯片,PC端不是虚拟的串口,而是真实的I/O地址。EasyUSB模块就是将它做成一个实用的模块,同时打包并简化了软件(你只要修改二次开发包源码中的两个函数的调用参数)。
EasyUSB使得USB产品的开发极为简易、周期大为缩短、费用也节省大半。
      EasyUSB模块外观如下:
    http://www.schoolboy.com.cn/pic/digi/0001_modu.jpg
     利用EasyUSB开发的步骤:
  1. 将EasyUSB的USB头插入电脑,另一端的8X2插针插入目标板(也可以不插目标板,因为它本身就自带了4个按键和8个LED灯)。 
  2. 在电脑上用VC++6.0打开开发包工程文件,调用两个函数,就可以输出和输入数据了,就可以灵活运用。(即使不会VC,只要会C就可以了,因为它的应用只需要你修改调用参数。)

 
EasyUSB用途:
一方面可以作为学习套件、开发板、CH341A评估板使用。
另一方面还可以作为一个万金油式的控制模块、开发模块。因为它留了个16脚插针孔。比如,检测点亮LCD模组;RF模块的数据收发显示;加一个红外二极管便可以做成红外遥控器;加一个红外接收头便可以用家中的电视机遥控器来控制你的电脑;I2C控制;等等。这些,都省去了单片机及其开发、也省去了外接电源。
以EasyUSB模块为基础的应用方案:
★5分钟做一个测速计、频率计。浏览:http://www.schoolboy.com.cn/articles/Read.asp?ID=1248
★DIY红外遥控器红外分析仪(红外线方波示波器)。浏览:http://www.schoolboy.com.cn/articles/Read.asp?ID=1255
★镜面旋转LED屏制作。浏览:http://www.schoolboy.com.cn/articles/Read.asp?ID=1253




EasyUSB套件使用说明: 
套件清单: 

硬件:EasyUSB模块一只
软件:芯片的驱动程序+可编译运行的二次开发包VC++源代码+Demo程序。
下载此软件包 http://www.schoolboy.com.cn/images/small/zip.gif (即使没有EasyUSB模块,也能编译运行该开发包。)


开发包编译运行界面如下:
http://www.schoolboy.com.cn/pic/digi/0001_demo_IF.JPG

Demo程序使用说明:
(一)    安装该USB设备的驱动程序。
(二)    运行的Demo程序。插入EasyUSB设备后,标题会自动提示设备的插入。(在电脑的设备管理器中,会多出一个外部设备。)
(三)    勾选或取消界面上的LED,则会使得EasyUSB模块上的LED点亮或熄灭。
按模块上的按键,对应的Demo程序上的按键会动态地显示http://www.schoolboy.com.cn/pic/digi/0001_KeyOnOff.gif。
 
预留接口如下:
http://www.schoolboy.com.cn/pic/digi/0001_ext_IF.JPG 
这些输入输出引脚,在芯片内部都内置了上拉。即使去掉板上的按键和LED,这些引脚都一样是上拉的。
 
源代码中的函数说明:
void EasyUSB_Set8LED(BYTE Data);
功能:设置输出J1的D0~D7的电平。
参数:Data的bit0~bit7分别对应于D0~D7。bit0=0,D0引脚则为低电平,LED1则亮。D0~D7刚好对应于LED1~LED8。
BYTE EasyUSB_GetInput();
功能:获得输入引脚的状态。
返回值:bit0~bit3分别对应于Key1~Key4。bit0=0,外部引脚为低电平,表明Key1按键按下了。其中,Key3也是中断引脚,上升沿有效。
 
OnEasyUSB_ExtInt();
功能:当Key3中断引脚的出现上升沿时,将触发中断,程序会进入本函数处理。
OnEasyUSB_DeviceDetect();
功能:当该USB设备插入或拔出时,将触发此函数,程序会进入本函数处理。




开发板发货前一律再测试一次,以确保不良率为零。

联系:http://www.schoolboy.com.cn/about.asp

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

25

帖子

0

粉丝