MC9S08JM16 USB Interrupt Status Is Lost

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MC9S08JM16 USB Interrupt Status Is Lost

1,001 Views
Leptinotarsadec
Contributor I

Sometimes USB TOKDNE interrupt seems to be lost in my application.

 

--- after week with technical support ---

 

I've got some new information about the problem and a short way to reproduce it from scratch.

 

Please see attached files:
 * mc9s08jm16usb.pdf - detailed bug report;
 * s08jm16usb.mp4 - video clip;
 * usblost.zip - CodeWarrior project and source code for mc9s08jm16.

 

I insist the problem stems from the datasheet or MCU hardware; anyway, MCU hardware's behavior doesn't conform with the datasheet. As we are developing a highly-reliable application, I guess I can't afford the risk of using just 'some proven to work solution' such as medicalusb software; I should have a reasonable explanation why it works before I can include it in my project. There is also another reason why I can't use medicalusb: its code footprint is too large and won't fit in our
project "as is", so I'll have to redesign the medicalusb stack (and I cannot do that without full understanding of the problem in question). Hope this helps to solve my problem. At least MCU datasheet will be corrected.

 

Any idea?

 

WBR,
Nick Postnikov.

Labels (1)
0 Kudos
2 Replies

359 Views
leesp
Contributor I

Hi Nick,

Would you please attach the bug report/mp4/zip which you mentioned in your post?

I am suspecting a similar problem in my project.

Thank you

0 Kudos

359 Views
Tsuneo
Contributor IV

In the first place, I never use MC9S08JM16/60 for reliable USB applications, because of degraded USB engine (SIE) on these chips. Just for toys. When I've seen the datasheeet of these MCUs, I was surprised that the SIE architecture resembles to PIC's so much. PIC USB SIE is notorious as trouble maker.

 

These discussions for PIC SIE are directly applied to these Freescale chips, too.

 

- Tight timing requirement of firmware on OUT-SETUP sequence (around 100 us dead-line response for USB interrupt)

http://www.microchip.com/forums/fb.aspx?m=403160

 

- Data toggle synchronization error for double buffer (ping-pong) on Set_Configuration(), Set_Interface() and Clear_Feature(ENDPOINT_HALT).

http://www.microchip.com/forums/tm.aspx?m=503200

 

I've seen this degraded SIE architecture for low-speed devices. It's in permissible range for low-speed applications, but not for full-speed devices. As one engaged in medical instruments development so long, I recommend Freescale to withdraw these chips from medical USB applications.

 

Tsuneo

0 Kudos