> Tim Wescott <tim@seemywebsite.really> writes:
>
>> On Sun, 02 Mar 2014 12:01:42 +0000, Simon Clubley wrote:
>>
>>> On 2014-03-01, Tim Wescott <tim@seemywebsite.please> wrote:
>>>> On Sat, 01 Mar 2014 09:52:38 +0100, Arlet Ottens wrote:
>>>>>
>>>>> You could implement a CDC class device, and use the standard drivers.
>>>>
>>>> This is a really useful thread to me, because I didn't know nuthing
>>>> about this CDC device class stuff -- does Windows automatically try to
>>>> hook it up to a COM port so you can just pretend its serial, or is
>>>> there some other API that you have to use?
>>>>
>>>>
>>> Assuming we are talking about the CDC ACM interface, there are a couple
>>> of things you need to be aware of:
>>>
>>> 1) I've seen reports the Windows CDC ACM drivers are not as good as they
>>> should be. However, be aware that's hearsay: I have no experience with
>>> the Windows CDC ACM drivers. (Also, those reports were about WinXP IIRC;
>>> I don't recall seeing anything about Windows 7).
>>>
>>> 2) There's no way for the CDC ACM device to communicate the CTS status
>>> back to the USB host; it's not part of the CDC ACM specification.
>>>
>>> Microchip have a MCP2200 IC which implements the CDC ACM protocol; they
>>> handled this problem by implementing hardware flow control on the IC
>>> itself.
>>
>> If I did this I'd just be removing an FT230X and plumbing those wires
>> straight to a chip that can handle USB.
>>
>> The thing that really decided me on using the FT230X on this board rather
>> than the on-board resources of the STM32F303 were that the FT230X uses
>> about 80% of the board area of a 7mm x 5mm crystal, and the only thing
>> driving the requirement to have a crystal was the need for USB.
>
>>
>> It's way space-constrained -- I'm down to 2.5 postage stamps, and I'd
>> certainly be happier at 1.5 or less.
>
> There are some crystal-less STM32 parts IIRC
Sorry, I meant parts designed to work with USB without a crystal!
--
John Devereux
Reply by John Devereux●March 4, 20142014-03-04
Tim Wescott <tim@seemywebsite.really> writes:
> On Sun, 02 Mar 2014 12:01:42 +0000, Simon Clubley wrote:
>
>> On 2014-03-01, Tim Wescott <tim@seemywebsite.please> wrote:
>>> On Sat, 01 Mar 2014 09:52:38 +0100, Arlet Ottens wrote:
>>>>
>>>> You could implement a CDC class device, and use the standard drivers.
>>>
>>> This is a really useful thread to me, because I didn't know nuthing
>>> about this CDC device class stuff -- does Windows automatically try to
>>> hook it up to a COM port so you can just pretend its serial, or is
>>> there some other API that you have to use?
>>>
>>>
>> Assuming we are talking about the CDC ACM interface, there are a couple
>> of things you need to be aware of:
>>
>> 1) I've seen reports the Windows CDC ACM drivers are not as good as they
>> should be. However, be aware that's hearsay: I have no experience with
>> the Windows CDC ACM drivers. (Also, those reports were about WinXP IIRC;
>> I don't recall seeing anything about Windows 7).
>>
>> 2) There's no way for the CDC ACM device to communicate the CTS status
>> back to the USB host; it's not part of the CDC ACM specification.
>>
>> Microchip have a MCP2200 IC which implements the CDC ACM protocol; they
>> handled this problem by implementing hardware flow control on the IC
>> itself.
>
> If I did this I'd just be removing an FT230X and plumbing those wires
> straight to a chip that can handle USB.
>
> The thing that really decided me on using the FT230X on this board rather
> than the on-board resources of the STM32F303 were that the FT230X uses
> about 80% of the board area of a 7mm x 5mm crystal, and the only thing
> driving the requirement to have a crystal was the need for USB.
>
> It's way space-constrained -- I'm down to 2.5 postage stamps, and I'd
> certainly be happier at 1.5 or less.
There are some crystal-less STM32 parts IIRC
--
John Devereux
Reply by Tim Wescott●March 3, 20142014-03-03
On Sun, 02 Mar 2014 12:01:42 +0000, Simon Clubley wrote:
> On 2014-03-01, Tim Wescott <tim@seemywebsite.please> wrote:
>> On Sat, 01 Mar 2014 09:52:38 +0100, Arlet Ottens wrote:
>>>
>>> You could implement a CDC class device, and use the standard drivers.
>>
>> This is a really useful thread to me, because I didn't know nuthing
>> about this CDC device class stuff -- does Windows automatically try to
>> hook it up to a COM port so you can just pretend its serial, or is
>> there some other API that you have to use?
>>
>>
> Assuming we are talking about the CDC ACM interface, there are a couple
> of things you need to be aware of:
>
> 1) I've seen reports the Windows CDC ACM drivers are not as good as they
> should be. However, be aware that's hearsay: I have no experience with
> the Windows CDC ACM drivers. (Also, those reports were about WinXP IIRC;
> I don't recall seeing anything about Windows 7).
>
> 2) There's no way for the CDC ACM device to communicate the CTS status
> back to the USB host; it's not part of the CDC ACM specification.
>
> Microchip have a MCP2200 IC which implements the CDC ACM protocol; they
> handled this problem by implementing hardware flow control on the IC
> itself.
If I did this I'd just be removing an FT230X and plumbing those wires
straight to a chip that can handle USB.
The thing that really decided me on using the FT230X on this board rather
than the on-board resources of the STM32F303 were that the FT230X uses
about 80% of the board area of a 7mm x 5mm crystal, and the only thing
driving the requirement to have a crystal was the need for USB.
It's way space-constrained -- I'm down to 2.5 postage stamps, and I'd
certainly be happier at 1.5 or less.
--
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
Reply by Arlet Ottens●March 2, 20142014-03-02
On 03/02/2014 01:01 PM, Simon Clubley wrote:
> On 2014-03-01, Tim Wescott <tim@seemywebsite.please> wrote:
>> On Sat, 01 Mar 2014 09:52:38 +0100, Arlet Ottens wrote:
>>>
>>> You could implement a CDC class device, and use the standard drivers.
>>
>> This is a really useful thread to me, because I didn't know nuthing about
>> this CDC device class stuff -- does Windows automatically try to hook it
>> up to a COM port so you can just pretend its serial, or is there some
>> other API that you have to use?
>>
>
> Assuming we are talking about the CDC ACM interface, there are a couple
> of things you need to be aware of:
>
> 1) I've seen reports the Windows CDC ACM drivers are not as good as they
> should be. However, be aware that's hearsay: I have no experience with
> the Windows CDC ACM drivers. (Also, those reports were about WinXP IIRC;
> I don't recall seeing anything about Windows 7).
>
> 2) There's no way for the CDC ACM device to communicate the CTS status
> back to the USB host; it's not part of the CDC ACM specification.
Since the USB protocol has its own flow control, the lack of CTS
shouldn't be too bad, especially when you integrate the USB
functionality on the same controller that handles the data.
Reply by Simon Clubley●March 2, 20142014-03-02
On 2014-03-01, Tim Wescott <tim@seemywebsite.please> wrote:
> On Sat, 01 Mar 2014 09:52:38 +0100, Arlet Ottens wrote:
>>
>> You could implement a CDC class device, and use the standard drivers.
>
> This is a really useful thread to me, because I didn't know nuthing about
> this CDC device class stuff -- does Windows automatically try to hook it
> up to a COM port so you can just pretend its serial, or is there some
> other API that you have to use?
>
Assuming we are talking about the CDC ACM interface, there are a couple
of things you need to be aware of:
1) I've seen reports the Windows CDC ACM drivers are not as good as they
should be. However, be aware that's hearsay: I have no experience with
the Windows CDC ACM drivers. (Also, those reports were about WinXP IIRC;
I don't recall seeing anything about Windows 7).
2) There's no way for the CDC ACM device to communicate the CTS status
back to the USB host; it's not part of the CDC ACM specification.
Microchip have a MCP2200 IC which implements the CDC ACM protocol; they
handled this problem by implementing hardware flow control on the IC
itself.
Only you can decide if this is a issue for you. :-)
Simon.
--
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world
Reply by Tim Wescott●March 1, 20142014-03-01
On Sat, 01 Mar 2014 09:52:38 +0100, Arlet Ottens wrote:
> On 03/01/2014 08:38 AM, John-Smith wrote:
>>
>> Tim Wescott <tim@seemywebsite.please> wrote
>>
>>> There's tons of microcontrollers on the market with USB ports. If
>>> you're building 1000 a year or more of something it's probably worth
>>> the trouble to make that work rather than wasting money and board
>>> space on a separate chip.
>>
>> Yes, but equally the equipment manufacturer is not going to be writing
>> their own windows drivers for any of these, because that is an absolute
>> pig of a job.
>
> You could implement a CDC class device, and use the standard drivers.
This is a really useful thread to me, because I didn't know nuthing about
this CDC device class stuff -- does Windows automatically try to hook it
up to a COM port so you can just pretend its serial, or is there some
other API that you have to use?
I'm currently putting an FTDI chip into something because an FT230X is
smaller than the crystal that the microprocessor requires if you go with
USB, but a secondary reason was not wanting to mess with programming USB
in the chip.
--
Tim Wescott
Control system and signal processing consulting
www.wescottdesign.com
Reply by Arlet Ottens●March 1, 20142014-03-01
On 03/01/2014 08:38 AM, John-Smith wrote:
>
> Tim Wescott <tim@seemywebsite.please> wrote
>
>> There's tons of microcontrollers on the market with USB ports. If you're
>> building 1000 a year or more of something it's probably worth the trouble
>> to make that work rather than wasting money and board space on a separate
>> chip.
>
> Yes, but equally the equipment manufacturer is not going to be writing
> their own windows drivers for any of these, because that is an
> absolute pig of a job.
You could implement a CDC class device, and use the standard drivers.
Reply by John-Smith●March 1, 20142014-03-01
Tim Wescott <tim@seemywebsite.please> wrote
>There's tons of microcontrollers on the market with USB ports. If you're
>building 1000 a year or more of something it's probably worth the trouble
>to make that work rather than wasting money and board space on a separate
>chip.
Yes, but equally the equipment manufacturer is not going to be writing
their own windows drivers for any of these, because that is an
absolute pig of a job.
I wonder which of these are the main players?
I will try that USB monitoring program, from the FTDI website. I know
FTDI - we use them at work. Good chips and a good company.
Reply by Tim Wescott●February 28, 20142014-02-28
On Fri, 28 Feb 2014 22:05:20 +0000, John-Smith wrote:
> dplatt@coop.radagast.org (David Platt) wrote
>
>>>I am trying to make it work under win8...
>>>
>>>It isn't a Prolific 2303 and it isn't an FTDI FT232 or similar...
>>>
>>>Win8 does notice it was plugged in (it beeps) but nothing new (that I
>>>can see) appears under Control Panel / Devices.
>>>
>>>I would expect a COM port with a Hayes compatible modem behind it. That
>>>is what their older models do. The old 7100 is a straight RS232 Hayes
>>>modem, but the XT is USB only.
>>
>>You might want to plug it into a Linux box (boot a Linux live CD image
>>or USB stick on your current machine, if you wish) and do an "lsusb" and
>>"lsusb -v". This should show you plenty of information about the device
>>characteristics.
>>
>>An increasing number of devices these days are publishing a CDC
>>(Communications Device Class) endpoint... behaves a lot like a modem or
>>serial port but there's no concept of baud rate.
>
> Interesting. Is there a Linux image which can go onto a USB flash stick
> and "just work"?
Ubuntu does that very well. I'm sure there's others, but I'm only
familiar with Ubuntu.
--
Tim Wescott
Control system and signal processing consulting
www.wescottdesign.com
Reply by Tim Wescott●February 28, 20142014-02-28
On Fri, 28 Feb 2014 10:36:56 +0000, John-Smith wrote:
> I am trying to make it work under win8...
>
> It isn't a Prolific 2303 and it isn't an FTDI FT232 or similar...
>
> Win8 does notice it was plugged in (it beeps) but nothing new (that I
> can see) appears under Control Panel / Devices.
>
> I would expect a COM port with a Hayes compatible modem behind it. That
> is what their older models do. The old 7100 is a straight RS232 Hayes
> modem, but the XT is USB only.
>
> The modem has a config for two things: Modem and USB. Neither makes any
> difference, but the 1st one suggests that perhaps it does have an RS232
> interface...
There's tons of microcontrollers on the market with USB ports. If you're
building 1000 a year or more of something it's probably worth the trouble
to make that work rather than wasting money and board space on a separate
chip.
--
Tim Wescott
Control system and signal processing consulting
www.wescottdesign.com