Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

USB transceiver selection?

Status
Not open for further replies.

Niver

Junior Member level 3
Joined
Oct 11, 2001
Messages
27
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
231
usb listener

Hi all,

I wondering about to make a home made USB analyzer with a microcontroller (IO ports of 3.3V) monitoring the USB and passing some types of messages to a PC via RS232.

I would like to know which USB transceiver will be better for a full-speed analyzer and with availability in Europe.

Thnx a lot!
 

Analyzer

Full Member level 6
Joined
Nov 18, 2001
Messages
374
Helped
3
Reputation
6
Reaction score
3
Trophy points
1,298
Activity points
3,518
home made transceiver

Hi,

I think you are new to usb port and i would like to advice you FTDI products.If you have experience with RS232 ports, you can easily adapt your projects to USB protocol.You can purchase them directly from company.

https://www.ftdichip.com/

Analyzer.
 

Niver

Junior Member level 3
Joined
Oct 11, 2001
Messages
27
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
231
transceiver home made

Hi Analyzer,

Yeap, i'm really fascinated with this bus. But I have some questions open.

I would like to monitorize the SETUP transactions and I dont know if the FTDI chips implement more high level functions in which you don't see the transactions. I think this because the FTDI chips provide COM drivers and this means that Windows install it as a HID device or something like that. Perhaps, Is it possible to implement an Ethernet USB adapter with the FTDI chip (Bulk IN, Bulk OUT, Interrupt and Control Pipes)?

Thanx in advance
 

Analyzer

Full Member level 6
Joined
Nov 18, 2001
Messages
374
Helped
3
Reputation
6
Reaction score
3
Trophy points
1,298
Activity points
3,518
usb transceiver и sie

Sure,
I think you only look at serial<->usb instant converter ic's.For High speed and complicated data transfer, they have easy-to-use ics'.If you are not satisfied, you can try to look at cypress psoc's. www.cypress.com
Analyzer.
 

Niver

Junior Member level 3
Joined
Oct 11, 2001
Messages
27
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
231
usb transceiver homemade

Thank you Analyzer. I have found a transceiver that could be used to monitorize the USB packets through the bus....

https://www.fairchildsemi.com/pf/US/USB1T11A.html

...and free samples :eek:

The next problem is the impedance needed in D+ and D- of the transceiver. The analyzer must be among the Host PC and the USB device, so it must have two USB connectors (A and B pin-to-pin linked) and the signal must be received by the transceiver. I think that I don't need any impedance because it only reads and doesn't write to the bus, and the USB device has impedances also.

Someone can help?...thanx in advance!!
 

Analyzer

Full Member level 6
Joined
Nov 18, 2001
Messages
374
Helped
3
Reputation
6
Reaction score
3
Trophy points
1,298
Activity points
3,518
homemade transceiver

Hi,

I think you need a buffer ic for usb.But i dont know if there is an instant solution for you. Maybe you can use opto-isolators to balance impedance.Cypress also sends samples if you kindly ask them ;)

Analyzer.
 

vsop

Member level 2
Joined
Aug 24, 2001
Messages
52
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Location
east
Activity points
513
usb driver analizer data0

it's very interesting to hear this project. Niver, which mcu will u plan to use
for this project? does this project include some fpga or someting like that? As i know, none of current mcu is capable of handing the signal from usb Tx without logic, even though u just want to monitor the setup token. at least, one sie is the must for u, but this one is not similar with that from intel, because u just want to monitor, not join the communication with host & device, right? once this special sie is available, the hi-speed mcu might be capable to interface with that. but i still doubt that. finally, i do not think the impendence matching is critical here, it is just the same with putting 10pf loading on D+/D- according the USB1T11A as long as setting this Tx to receiving mode. 10pf loading for most of host is all right. can you share with me more information about your progess on this project? and if you need the sie, i can give it to u.
 

Niver

Junior Member level 3
Joined
Oct 11, 2001
Messages
27
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
231
transceivere home made

Hi vsop,

I'd like to use an ARM from ATMEL with TQFP package (AT91R40008) and a Flash Memory (AT49BV1614A).

I think you are right, It will be necessary a SIE in order to have more CPU capacity for monitoring. Please let me know in which SIE are you thinking.

I want to use it to monitorize the Control Pipe EP0 of a Network Device which comunicates with the Host using RNDIS protocol. I would like to obtain a LOG of the RNDIS commands from the host and the responses of the device. Similar to this one:


1367____: SOF
SEND_ENCAPSULATED_COMMAND (21 00 00 00) (p35)
wIndex (00 00)
wLength: 24d (18 00)
1368____: Idle(5) SYNC(00000001) SETUP(> 0x2d) ADDR(0x2) EP(0x0) EP(0x0) time(2.83 us)
1369____: Idle(3) SYNC(00000001) DATA0(> 0xc3) DATA(21 00 00 00 00 00 18 00) time(8.17 us)
1370____: Idle(6) SYNC(00000001) ACK(< 0xd2) time(1.50 us)
1371____: SOF
REMOTE_NDIS_INITIALIZE_MSG (02 00 00 00) (p10)
MessageLength: 24d (18 00 00 00)
1372____: Idle(5) SYNC(00000001) OUT(< 0xe1) ADDR(0x2) EP(0x0) EP(0x0) time(2.83 us)
1373____: Idle(3) SYNC(00000001) DATA1(> 0x4b) DATA(02 00 00 00 18 00 00 00) time(8.17 us)
1374____: Idle(7) SYNC(00000001) ACK(< 0xd2) time(1.50 us)
1375____: SOF
RequestId: (01 00 00 00)
MajorVersion: (01 00 00 00)
1376____: Idle(5) SYNC(00000001) OUT(< 0xe1) ADDR(0x2) EP(0x0) EP(0x0) time(2.83 us)
1377____: Idle(3) SYNC(00000001) DATA0(> 0xc3) DATA(01 00 00 00 01 00 00 00) time(8.17 us)
1378____: Idle(6) SYNC(00000001) ACK(< 0xd2) time(1.50 us)
1379____: SOF
MinorVersion: (00 00 00 00)
MaxTransferSize: 16384d (00 40 00 00)
1380____: Idle(5) SYNC(00000001) OUT(< 0xe1) ADDR(0x2) EP(0x0) EP(0x0) time(2.83 us)
1381____: Idle(3) SYNC(00000001) DATA1(> 0x4b) DATA(00 00 00 00 00 40 00 00) time(8.17 us)
1382____: Idle(6) SYNC(00000001) ACK(< 0xd2) time(1.50 us)
1383____: SOF
1384____: Idle(5) SYNC(00000001) IN(> 0x69) ADDR(0x2) EP(0x0) EP(0x0) time(2.83 us)
1385____: Idle(5) SYNC(00000001) DATA1(< 0x4b) DATA(0) time(2.83 us)
1386____: Idle(7) SYNC(00000001) ACK(> 0xd2) time(1.50 us)
FIN de la commande (24 octets)
1387____: SOF

1388____: SOF
(response available ?)
1389____: Idle(5) SYNC(00000001) IN(> 0x69) ADDR(0x2) EP(0x1) EP(0x1) time(2.83 us)
1390____: Idle(6) SYNC(00000001) DATA0(< 0xc3) DATA(01 00 00 00 00 00 00 00) time(8.17 us)
1391____: Idle(7) SYNC(00000001) ACK(> 0xd2) time(1.50 us)
1392____: SOF
1393____: SOF
1394____: Idle(5) SYNC(00000001) IN(> 0x69) ADDR(0x2) EP(0x1) EP(0x1) time(2.83 us)
1395____: Idle(5) SYNC(00000001) DATA1(< 0x4b) DATA(0) time(2.83 us)
1396____: Idle(7) SYNC(00000001) ACK(> 0xd2) time(1.50 us)

GET_ENCAPSULATED_RESPONSE (a1 01 00 00) (p35)
wIndex: (00 00)
wLength: 1025d (01 04)
1397____: Idle(15) SYNC(00000001) SETUP(> 0x2d) ADDR(0x2) EP(0x0) EP(0x0) time(2.83 us)
1398____: Idle(3) SYNC(00000001) DATA0(> 0xc3) DATA(a1 01 00 00 00 00 01 04) time(8.17 us)
1399____: Idle(6) SYNC(00000001) ACK(< 0xd2) time(1.50 us)
1400____: SOF
REMOTE_NDIS_INITIALIZE_CMPLT (02 00 00 80) (p11)
MessageLength: 52d (34 00 00 00)
1401____: Idle(5) SYNC(00000001) IN(> 0x69) ADDR(0x2) EP(0x0) EP(0x0) time(2.83 us)
1402____: Idle(5) SYNC(00000001) DATA1(< 0x4b) DATA(02 00 00 80 34 00 00 00) time(8.17 us)
1403____: Idle(7) SYNC(00000001) ACK(> 0xd2) time(1.50 us)

I'm just wondering....but.

Thank you in advance!
 

vsop

Member level 2
Joined
Aug 24, 2001
Messages
52
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Location
east
Activity points
513
usb device listener

Hello Niver,
The CATA analyzer can fullfill your demand easily, but if you prefer a home-made one.... To be honest, it's not easy at all, as I know. In my idea, it is just a listener to the USB bus for this analyzer, such that the output enable signal of USB Tx must be disable. In this manner, the Tx can receive all situation on the bus, but the response will not affect the bus 'cause of it's disable. Then the normal sie and backend logic can run well like the normal way. Philips, Cypress provide lots of MCU w/ USB interface, of course, w/ UART for RS-232. But I really have no idea how to disable the pin I mentioned above to make this kind of MCU as a linstener. In the attached application note, it shows one MCU is able to connect Tx directly, it might be helpful to you.
 

Niver

Junior Member level 3
Joined
Oct 11, 2001
Messages
27
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
231
send_encapsulated_command

Thnx vsop for the info of the Philips Transceiver,

Yes, I would like to design a home-made USB analyzer in which I can customize the type of transactions monitorized. As you have mentioned, it will be dificult to manage the transactions without a SIE, so I've been looking for Transceiver+SIE in Cypress and I've found this one that seems interesting.

https://www.cypress.com/products/datasheet.cfm?partnum=SL811S

And, as Analyzers said...Cypress also sends samples if you kindly ask them ;).
 

vsop

Member level 2
Joined
Aug 24, 2001
Messages
52
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Location
east
Activity points
513
home made tranceiver

SL811 is the combination of Tx + SIE + backend logic + MCU/DMA interface, so you still need your ARM to interact with it. It's no problem to use it compared with MCU w/ USB interface. What I am concerning is how to make this kind of logic as a "USB listener".
Let me take the setup token as an example, once the slave device completes the reset step, it initiates the endpoint 0 at first for receiving setup token. After slave device receiving a setup token, it accepts the corresponding data, then return a ACK. Now the problem is the slave will enable the output enable pin of Tx to return the ACK, it will affect the bus condition if this device is just a listener not the real plug-in device. Therefore, it is all right to see the setup token via the endpoint interrupt, but after that the bus is no more working correctly.
In additional, do not put the 1.5K pull-up on your D+, since it is used to inform the host there a device is plug-in.
Hope it is helpful to you.
 

hoclv

Junior Member level 2
Joined
Feb 12, 2003
Messages
22
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Location
VIETNAM
Activity points
217
psoc ep0 control

Use IC FM232BM to convert USB to Serial Port.
 

hynix

Member level 5
Joined
Dec 17, 2002
Messages
84
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,288
Location
Inda
Activity points
614
ft232 opto pull up -usbdp

FM232BM who is the manufacturer for this IC, is this of FTDI's...??
:?:
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top