This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Application Note for 1588 with TM4C1294?

Other Parts Discussed in Thread: CCSTUDIO

Any sample code?

  • Post a link of this application note, for the other readers convenience.

    - kel

  • Hi, 

    See this as a starting point: http://www.rutronik.com/news+M599ebc7b294.html

    Petrei

  • You earlier (via uDMA & ADC post) declared yourself to be new here yet the choice of uDMA and now this (ever descriptive) "App Note for 1588" arrives.  Appears to this reporter that the (necessary) fundamentals & building-blocks w/this class MCU are being bypassed - or at least under-represented - and this too often complicates and impedes your learning/development.

    Of course you're free to pursue your special interests - but do take seriously Amit's suggestion of, "proper read of PDL-User Guide for these MCUs.  That along w/numerous code examples and a serious read of the MCU manual will pay off for you in the long run.  

    Starting with the exotic - minus the time/effort to investigate/absorb fundamentals - may not prove the best (nor fastest) road to success...  App notes - by themselves - are unlikely to yield best/brightest results...

  •  Hi Petrei, I followed your link but it is for ST ARM and no more than a leaflet exist.

     We have on TIVA some code but too much effort and knowledge is necessary this time and I fear is too much for our poster. Sure it wasn't searching just a simple NTP client or server example?

    http://en.wikipedia.org/wiki/Network_Time_Protocol

     ptp example are in TIVAWare (my is 2.1.0.12573) ->third_party->ptpd-1.1.0

     Example is a skeleton but for now is put on back burner to give it a chance when can be the time of mature hardware.

     An application note is HERE  and full documentation is available fro IEEE:

    http://standards.ieee.org/findstds/interps/1588-2008.html

     Good luck if you are a beginner, knowledge of jitter precise time measurement and all is behind these like atomic clock syncronization is on this chapter.

  • cb1_mobile said:
    You earlier (via uDMA & ADC post) declared yourself to be new here yet the choice of uDMA and now this (ever descriptive) "App Note for 1588" arrives.

     Why not, this serve the community here, I fear if our requester is just new to TIVA is not a biggest trouble if is also new to time and frequency standards and measurement ... Ok is the first chapter of uncertainity about time and frequency ;)

  • @Roberto-

    If it's your suggestion to first, "place the cart ahead of the horse" then by all means proceed, Full Speed Ahead!

    Have you not noted how few (new here) succeed in setting a single GPIO bit (other than bit_0 - which does accept "1" as its set value) and how many "catch" the NMI restriction forced upon 2 (otherwise) GPIO pins?

    I stand behind, "Fundamentals first" - APP Notes/shortcuts (on their own) rarely lead to the, "promised land."

  • @Roberto,

    I knew about TI's application note, but, unfortunately just it is not anymore listed on the 38 application notes related to Tiva - so that link, with other  info directing to sourceforge for ptpd software, and other application note from another brand (and searching for that AN there is also a dedicated Cortex software package).

    Always is useful to know what others do. 

    Hope the o/p has now enough info to search/learn.

    Petrei

  • cb1_mobile said:

    Have you not noted how few (new here) succeed in setting a single GPIO bit (other than bit_0 - which does accept "1" as its set value) and how many "catch" the NMI restriction forced upon 2 (otherwise) GPIO pins?

     Hi Cb1, this processor appear as complex to me too, I am still struggling to be confident after a more than two year of experiment and small application. I made not so much from Stellaris than wasting 20-40 day understanding the family tree then select 4 processor out of pletora.

     after that I bought two development kit, the lm3s9d95 is first then the motor. After that NRND stopped for a long time so I evaluated the new Beagle Booard Black (BBB), a lot of power and is working out of the box... This is now part of my design and after eth new uncertainity I suppose this is a good move as it can be moving to FPGA is still unreliable...

     TIVA still suffer from old ancestor in hardware and software too, too many way to do same thing exist and name are confusing the best programmer, I am going too old to read tons after tons of manual pages and sometimes I am also seeking for an example to learn from working code. Still this is not enough as you stated, but the trick of locked pins is still obscure to me after a year reading manuals... Too huge manuals...

  • Petrei said:

    brand (and searching for that AN there is also a dedicated Cortex software package).

     Hi Petrei, if you need more I can do an internal search on IEEE or other application notes from vendors.

     The best to do can be to have ptpd working as master and slave on two unit. This is a time consuming task and also require a lab but before to r+try implement this we need have a stable enet too.

  • @Roberto,

    Like you - I'm a bit, "old school" and believe that one should "tune" the response to the requester's: skill, background and demonstrated effort.  Poster appears, "effort-lite" we helpers are thus placed at a disadvantage. (risk responding w/too much or too little detail)  Is that right - is it good form - should we let it pass (like most) un-noted?

    He/she is free to request anything - but I'm not impressed w/the care/consideration shown (i.e. near zero) to "would be" helpers.  As you/Petrei/I are reasonably active here - and benefit from this forum's success - should we not voice our opinion - and justify our stance?

    Asking for App note only - likely avoiding the fundamentals - rings of either conceit/arrogance or little awareness of the complexity of these devices.  The outcome of either is unlikely to be good...  (not too many "cart-drawn horses" reveal - most city streets I visit...)  

  • I am indeed a newbie to this processor, but I do have many, maybe too many :),  years of experience with processors from other companies, and I am familiar with two technologies in my posts with other processors. That's why I was hoping to take a look at the examples and find out the similarity to shorten my learning curve. 

    I hope this will answer your question

  • That past experience w/other MCU/MPUs surely aids/speeds - but is not w/out certain pitfalls.  (i.e. under StellarisWare/rebrandWare - the normal/customary: setting a GPIO bit to "1" - will not force that GPIO high!  {but for bit_0})  Again - devil loves - and lurks repeatedly - in such ARM vendor detail.  (and such is revealed only abstractly - w/in even greatly commented source code.  {that itself - a rarity!})

    I run a small tech firm - we often adjust tech staffing to match our Sales success/workload - and my comments flow from what myself (& multiple, other small tech firms believe) to be best practice.  (i.e. we meet regularly to share "war stories" - new (unwanted) Gov't Rules/Regs. - and tech biz solutions which lead to "best practice.")

    Yes "sample code" provides some advantages - but on its own - w/out adequate investment of time/effort (i.e. "sweating the details") we don't find the results especially notable. And - any "shortcuts" gleaned may arrive accompanied by great peril - especially should you seek the slightest change or adaptation (and have not built the requisite understanding/mastery) - demanded by your unique requirement...

    This ARM MCU eco-system is different from what you/I/others (past, lesser MCU users) have come to expect.  MCU manual is 1K+ pages - and many have asked for yet further detail...  Perhaps you catch my drift - I now sense no arrogance on your part - my objective has been to alert you to the fact that "shortcuts" - by themselves - are unlikely to yield the results you seek.  The PDL User Guide, MCU manual (all 1K+ pages) and "then" a good read of multiple code exampes - seems to work best (and fastest) for most.  Good luck...

  • Thanks for your suggestion.

  • XC60659 said:
    That's why I was hoping to take a look at the examples and find out the similarity to shorten my learning curve. 

     I own more than 40 yrs on other processor, this one after one year of reading manuals and trying to learn from examples still scare me for other things..

     I still experience trouble setting up a project from scratch, this is due to IDE and other....

     1588 also need a SOLID brackground on time and frequency measurement, otherwise you can catch just the devil.

  • cb1- said:
     in such ARM vendor detail.  (and such is revealed only abstractly - w/in even greatly commented source code.  {that itself - a rarity!})

     Right, TIVA is not worst but not even best in clarity.

     Expecially on ENET module, embedding a WEB Server in an Interrupt Handler is a good example of academic but WORST if someone wish learn how it work or just tailor code to his/her application. Still this hog the cpu and never can be usable than as is...

     Again the more clean application are on FREERTOS, this is partially documented and just one BEAUTIFUL example exist. No simple sketch to get inspired on how to set infinite processor option. This is the most fine network application!

     After TIRTOS, ok this can help me a lot, but still setting timer ENET appear and disappear... I cannot run example embedded on CCStudio due to flaw in porting to Linux (maybe still Windows has, when I compared in early day windows was worst) So this is still a climbing way.

    cb1- said:
    This ARM MCU eco-system is different from what you/I/others (past, lesser MCU users) have come to expect.  MCU manual is 1K+ pages - and many have asked for yet further detail...  Perhaps you catch my drift - I now sense no

     I agree, in the past after reading some section of MSP430, one day after I was porting code examples from Assembly to C, more and more clean but 14 Yr ago documentation was better. Processor was 1K+ page family guide and split feature on every member but section where clean and simple, also peripheral presented as simple to program without locking and the hell is surrounding this ARM series. Also the C2xxx monster is more and more simple to grasp, CLA and accelerator are sometimes more complex than processor but not scaring off.

     TIVA need a more cleaning of library and examples and 129 series need a more solid example on all periplheral with clean documentation, code sometimes is spread over  multiple files and is difficult to extrapolate them to integrate, to get inspired on how build a library or just run the example and simply grasp how it work!

     We are working on, can we hope for heaven than hell?

  • If TI provides the stack/example/appnote for 1588, it should not require that much insight knowledge from the users

  • @cb1_mobile, Sorry if I offend you in the following:

    The reason I requested appnotes or sample codes directly was because our local TI's FAE told me this was a very friendly and helpful forum and if I request supports here the answer would very likely benefit others. 

    So I really don't understand why you were so upset when people request that, you can simply ignore it and let TI's FAE take care of it.

  • XC60659 said:
    So I really don't understand why you were so upset when people request that, you can simply ignore it and let TI's FAE take care of it.

     IMHO this forum has to be splitted in Professional and noob Beginner...

     Too many silly request on how to set a pin to 1 or 0 or to have job done came her

     About user friendly yes for forum.. I fear a no for documentation clarity.

     About PTP protocol which range did you think your jiitter be? If uS then a simple software is enough, if you need nS or pS range I fear some trouble can be on. I delayed try on PTP due  I no more need on my design.

     So if you need more info than what I was in my knowledge ask and we can try something to get example running.

  • XC60659 said:
    If TI provides the stack/example/appnote for 1588, it should not require that much insight knowledge from the users

     Hi xc, please can you use a name just to sign up? It is not so kind to use an alias like your.

     Again precision timing that can transport atomic clock precision pulse need a SOLID knowledge aabout jitter, measurement uncertainity of time and frequency noise, microwave and also statistic to fully understand what is underneath the source and destination time/frequency reference.

     So if your sentence stay for that much about using ptp may be but not having to deal precision reference. This depend on what are you doing, this moment is not defined nor range of jitter so this way CB1 is right on.

  • cb1_mobile is not an alias? :D

    FYI, TI created the alias for me when I registered, I didn't pick it

    Back to the field, PTP with 1588 switch from Micrel can be used easily

  • Since you carry the title "GURU", I am sure you had been here long and helped many people, but since this forum is hosted by TI, not Linux :), I am sure its main functionality is still to promote their products, not personal glory.

    Many designers comes to product forum before they decide on a certain product to test water, to see if they can get help along the way, if not, the processor is simply dumped and worst case, the manufacturer goes in blacklist, and I don't think TI would like to see that. Their local FAE is always so helpful, answering even the seemingly "silly" questions all the time.

    There will be newbies coming, sent by their local FAEs, and there will be "silly" questions like mine, please be patience, and don't simply assume everyone comes here without reading first. 

    Many times, a "silly" question leads to deeper discussion and discoveries, I can't tell you how many times our local FAE had to go back to the chip designer when we raised "silly" questions, and at the end the chip designer admitted a certain detail was missing from the datasheet or there was a design glitch in the product, a "silly" question was indeed a "silly" mistake from the designers/marketing team, but hey, no one is perfect, we just need to find a work around, and they just need to put it on errata

    If you don't like to answer newbie questions, skip it, just let TI's FAE deal with it, this is their forum after all.

    If you think this forum should be for guru only, ask TI to create one for guru-only, and allow no newbies.

  • David Chance said:

    There will be newbies coming, sent by their local FAEs, and there will be "silly" questions like mine, please be patience, and don't simply assume everyone comes here without reading first.

     Anyway don't assume nothing bad or better, this forum is not moderated and if you remain here can feel yourself what I intended about, you can find a professional like you but sometimes children screaming about they want something done for nothing...

     So you aren't a newbye ;)

    David Chance said:

    Since you carry the title "GURU", I am sure you had been here long and helped many people, but since this forum is hosted by TI, not Linux :), I am sure its main functionality is still to promote their products, not personal glory.

     Guru level I carry is gained from learning usage of this family and breaking the code is not working. I raised 1000 point in a week trying to solve e lot of odd thing on hardware and software issue.

     About personal glory it is the only I got from here, I am not TI partner, I love MSP430 and some part from TI, I disagree how TI sometimes behave and if you search I never hide. So believe me, just sharing some free time  helping people raise my learning curve.

    David Chance said:
    mistake from the designers/marketing team, but hey, no one is perfect, we just need to find a work around, and they just need to put it on errata

     I fear silicon errata for this family can grow a lot, it is a too complex new device in beta test stage.

  • I am new to this product, that's why I called myself a newbie here.

    TI  was on our company's black list after their BurrBrown disaster if you know what I meant. Our local FAE single-handedly turned this situation around by providing the best support one can imagine, otherwise, I will never look at their products.

  • David Chance said:
    cb1_mobile is not an alias? :D

     Good point, Hey CB_1, you are a horse with no name ;)

     I never known name of CB1 nor OCY (Old Cow Yellow) and few other I know from a long time ago over MSP forum.

     David I prefer use your name, a name was enough than a number sequence, CB1 is not patient, I am there kindly to you. When I discover someone messing up I close conversation to avoid waste time and resource.

     Don't forget, I am newbye too, we never can know everything ;)

    David Chance said:
    Back to the field, PTP with 1588 switch from Micrel can be used easily

     I see this:
    http://www.micrel.com/index.php/en/products/lan-solutions/ieee-1588/article/4-ksz8441hl.html

     Documentation is well, I read few data on this but easy is there just friendly, TI documentation is quite hostile if they don't adapt and finish.

    Thank pointing to a different implementation, I read about Freescale K6 processor that is similar to TIVA c129 than I discovered I can do same precise enough (for my application) sync timing with a symmetrical CAN bus.

     Also some documentation where available from NS DPPHY but when TI acquired NS my preferred silicon provider got eaten...

     In what range your PTP jitter has to be?

  • 1 us is usually good enough, but our requirement is not just to sync a certain event, which is usually the demo from most 1588 providers, we need a truly synced clock (say 8Mhz to drive the ADC/Micro) and that's when most 1588 providers will hesitate to back. That's why I would love to see some appnote from TI

    As for your CAN, all events happens and propagates at such slow and undetermined pace (comparing to us domain), I don't see why you even need 1588

  • David Chance said:
    TI  was on our company's black list after their BurrBrown disaster if you know what I meant. Our local FAE single-handedly turned this situation around by providing the best support one can imagine, otherwise, I will never look at their products.

     I know BB product when BB was a great company, I never used from TI but I know the Unitrode disaster, I was searching for a syncronous switching regulator and NS was not ready to. SO I selected an IC promising it can withstand 12V input, on crazy production driven by custom not waiting all test this IC revealed a disaster, so on some board I incorporated a different chip not available, this chip revealed high defect and a lot of them never accepted more than 6/7 V at power input. Production still delayed and a huge rework on 1000 ""PROTOTYPES"" was the cost of new product. TI substitute was better but forever I prefer NS part. Again NS is TI I searc LM part over ti.

     I remember also an audio DAC was not working well on I2S slave mode.. so a lot of trouble are on our work. Happy to see you there on.

  • David Chance said:
    As for your CAN, all events happens and propagates at such slow and undetermined pace (comparing to us domain), I don't see why you even need 1588

     As I wrote I abandoned it when I got the idea of symmetric CAN BUS, event remain in the 10uS but I discovered from old original hardware part where schematic was not available they perform some RC based delay in the order of 300uS... this is temperature dependent and a 10uS error is negligible too...  A command on both bus trigger the transmission of a reference, measuring the delay of a time stamp to both direction of can bus give motion command always precise for my actual application.

    I need ptp it in the future where more tight time and phase error apply on "Software CAM Motion" where single motor driving mechanical cam leverage are substituted by ptp based software driving independent motors .

     Another issue to evaluate is the actual ENET bug if affect also PTP.

    David Chance said:
    1 us is usually good enough, but our requirement is not just to sync a certain event, which is usually the demo from most 1588 providers, we need a truly synced clock (say 8Mhz to drive the ADC/Micro) and that's when most 1588 providers will hesitate to back.

     David, with 1uS jitter your 8MHz reference clock travel a lot in phase so this way software solution is precise enough and hardware assist is not a must. This 8MHz clock I assume can be synced from 1uS pulse to averaging phase error?

    I assume you are familiar to time frequency measurement, so oscillator(s?) how are synced by? It is a not simple question and I understand why hesitate, better hesitation than false heaven promise.

  • This phase error can be ignored when Sigma-Delta ADC is used, but you are right, if I use SAR ADC, this is not good enough

    If they can give a better jitter spec, I will gladly take it. 

  • HI David ,Have solve this problem?Can you give me your sample code? Thank you so much!
  • No, I gave up