5475|15

73

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

寻求指引:不知如何问起的问题,关于和PC通讯方面(软硬驱动都需要) [复制链接]

(我一直做软件,虽然对Windows核心也有所了解,但却从未真正写过驱动,也未写过单片机软件,提的问题可能很不专业,请多包涵,多给点指引)

简单的说,可能这样:公司安排我项任务,改进一些旧的仪器。以前所有的仪器都是用RS232跟电脑连接的,我写软件的时候就直接打开串口发送接收命令即可,但大家也知道现在的电脑哪里还有9芯串口?所以把仪器卖出去的时候就附送一根USB转串口的线,多别扭,速度还慢(19200bps)。现在打算改进,直接使用USB了,但我们的上层通信协议不想改,还是一条命令发,一条命令收。

这肯定会涉及到硬件、仪器上的单片机软件、驱动程序及PC端软件的改动,全部都涉及到了,现在有些无从下手,其实头提出这个的时候估计他也一头雾水,不过我想老板想要的效果应该是这样:

1,仪器开机
2,通过其界面进入“通讯模式”
3,通过USB链接到PC
4,PC检测到了仪器
5,如果没有安装驱动程序,那就安装
6,安装完驱动后仪器显示为一个USB设备(有别于U盘等,不产生盘符,不想让用户直接访问上面的SD卡)
7,这时候PC端的软件就可以打开这个USB设备进行通信了

通信并不复杂,就是那种丢一个字符串到仪器上去,然后从仪器上收一个字符串的形式。

迷惘,因为从来没弄过这些东西,我的部门是软件部门,没有任何开发板,编程器也没有,是不是要买一套回来?我

可能需要在单片机上写个程序调试,全部好了之后,可能要去“培训”Firmware部门,怎么怎么做。

出出主意。

最新回复

惭愧,这么久才来结贴,我后来发觉我误会了上司的意思,原来他不是想要这么个东西,郁闷。不过还是谢谢各位的帮助。  详情 回复 发表于 2010-1-28 12:02
点赞 关注

回复
举报

91

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
最简单的,周期最短的办法,提供一条USB转串口线缆,并把对应的USB转串口线缆的驱动也提供下(芯片厂家都会提供)。

这样你的设备基本不用怎么修改、。
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
我们目前就是这种作法啊,“所以把仪器卖出去的时候就附送一根USB转串口的线,多别扭,速度还慢(19200bps)。”这样不好,假的USB,速度很慢(19200bps)而且也是要装这根线的驱动的,然后显示出一个虚拟的串口。这次头估计想大改的。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

4
 
如果是这样的话可以写一个自定义的HID设备,PC上的软件向这个HID设备的ENDPOINT发数据,仪器的USB端口接收到数据之后再判断应该做什么事,或者是向应用软件返回一定的数据,用HID的好处就是不用再安装驱动。
你可以找些USB的HID设备资料看下。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

5
 
to Veabol兄:
HID指的就是键盘鼠标这种设备?显示的时候应该可以做到不显示为键盘或者鼠标吧?如果可以做到,(即显示公司的仪器的名称)又可以另外装驱动,那是再好不过。

另外我需要怎么样的一块开发板,公司的仪器乱七八糟什么平台都有,我要考虑到时候他们改起来也方便,最好通用些。他们有的用MSP430的,有Arm7的,最新仪器有Arm9的,有裸奔的,有用μCOS2的,有用Linux的,总之各种各样……
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

6
 
可以做到不显示键盘和鼠标,且不用装驱动,用自定义的HID设备就行。不知道你有没有用过新华龙的开发板,他们所使用的USB在线仿真器就是个自定义的HID设备,安装的时候也不需要驱动,还可以显示它的名字,然后由他们的编译仿真软件直接操作那个仿真器。

通用性的话其实还好,因为设备枚举及正常通信的处理基本上都一样的,只是在操作USB接口上会有所不同,比如普通的单片机如果没有USB功能就加块PDIUSBD12等专门的USB DEVICE芯片,ARM9等有USB模块的就直接用那个模块,裸奔或者操作系统都关系不大,根据相应操作系统代码写就行。你可以先在一个裸奔的机器上改,实现之后再往带操作系统上移植就方便多了。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

7
 
谢谢Veabol。

最后关于开发板,帮我看看类似这个的,合不合适?
http://item.taobao.com/auction/item_detail-0db2-5b9fa442a3c34917788b7a58060dc33b.htm?cm_cat=0&pm1=2
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 
USB设备越来越广泛了,可以自定义HID设备的方法不错,简单快捷
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

9
 
开发板就选自己熟悉的平台就行了,这样开发起来会快一些,基本的那些器件很多开发板都会有的。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

10
 
这个不难,就去找个开发板支持CE的就行,要现成的串口编程吗纯WIN32的都一样,OK了。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

11
 
帮顶下,mark.
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

12
 
可不可以参考智能手机的通信方式?
pc端用usb连接,仪器上用miniusb或者usb连接,设备一插上pc就显示你设备的名字,智能手机也是这样的。
软件上怎么实现你还是查查资料吧,我也没搞过。

 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

13
 
usb转串口
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 6 楼 guogangj 的回复:
谢谢Veabol。

最后关于开发板,帮我看看类似这个的,合不合适?
http://item.taobao.com/auction/item_detail-0db2-5b9fa442a3c34917788b7a58060dc33b.htm?cm_cat=0&pm1=2


这个是可以的,我们之前用LPC2142做的, 但正好和你相反, 最初是用的USB口,后来发现USB口受到干扰后会挂掉,硬件工程师想了很多办法也没解决,后来改成了串口就没问题了。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

15
 
“我可能需要在单片机上写个程序调试,全部好了之后,可能要去“培训”Firmware部门,怎么怎么做。


如果楼主完全没有弄单片机程序,要写这个东西还是有点麻烦的,不过思路搞清楚了应该会好点。

大概的思路是:
1.单片机写好USB驱动程序。 (卖开发板的会提供)
2.实现简单的通信处理程序。(这个我想,楼主应该没问题)
3.PC上安装USB驱动。(卖开发板的会提供)
4.PC程序枚举到USB设备然后开管道与之进行通信。(结合开发板上提供的驱动说明, 网上搜搜,问题应该不大)
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

16
 
惭愧,这么久才来结贴,我后来发觉我误会了上司的意思,原来他不是想要这么个东西,郁闷。不过还是谢谢各位的帮助。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表