Arduino中国 | Flamingo EDA

Jan/08

13

DIY Wiring: USB电路

万事开头难,最后我挑了USB这部分电路开始焊接和调试,一来这部分电路在Arduino上是基本一致的,二来这部分电路可以给板子上的其他部分供电,三来它还可以同PC机实现串口通信。

USB这部分电路采用的是FTDI公司的FT232BL芯片,算起来也焊过十多回了,因此虽然换了一个刀状的铬铁头,也没有遇到什么大的麻烦。芯片焊好之后,再把电容、电阻、LED、晶振焊好,头一回焊贴片元件,左右开工,总算一一搞定:) 下面是该部分电路所用到的元件,由于手头没有1k的电阻,所以用来给发光二极管限流用的电阻R12和R13暂时用1.5k的电阻替代了。

类型 标记 数量 规格
USB转串口芯片 IC2 1 FT232BL
电容 C1 1 10nF
电容 C2 1 33nF
电容 C3 1 100nF
电容 C4, C5 2 22pF
电阻 R1, R2 2 27
电阻 R3 1 1.5k
电阻 R4 1 470
电阻 R12, R13 2 1k
晶振 Q1 1 6M
发光二极管 RX, TX 2 绿色

焊上USB接头之后,测了一下板子上5V和Gnd两个引脚间的电阻,在确认没有短路之后用USB线连到PC上,没有任何反应。打开原理图后,首先发现的是跳线JP1没有接。JP1的设计与Arduino上是完全一样的,其作用是为板子选择供电:USB电源还是外接电源。焊上JP1引脚并设置好跳线,再次插上USB线,还是没有任何反应!心底隐隐有一些不祥的感觉,拿出万用表来开始一段一段检查。USB接口上的电压是正确的,但FT232BL芯片上的电压为0, 看起来像是什么地方断路了。再次打开原理图,这次发现的是保险丝F1没有焊,它的作用是对FT232BL进行保护,电流过大时自动切断对FT232BL的供电。此时没有接F1,效果正好与电流过大保险丝烧断时的效果是一样的。

类型 标记 数量 规格
插针 JP1 1 3脚
保险丝 F1 1 500mA


焊上保险丝后再次接上USB线,这回听到了熟悉的USB设备连接上的提示音,在设备管理器中也能找到这一串口了:

心里一块石头总算落地了,不过现在还很难说USB这部分电路是不是已经正常工作了, 因为无法对数据发送和接收进行完全的测试。我只是简单地用串口调试工具打开了COM4,并试着发送一些数据给FT232BL,看到的现象是发光二极管TX在不断地闪烁,或许能够说明这部分电路已经基本可以了。当然,最终的结论只能等到ATmega 128那部分的电路完成之后,真正实际串口数据的收发时才会知道。

无论如何,USB这部分电路基本算是完成了,贴一张焊好USB电路的板子局部图:

No tags

No comments yet.

Leave a Reply

使用新浪微博登录

<<

>>

Theme Design by devolux.nh2.me