From: Terry <ter...@12...> - 2017-05-04 02:03:16
|
Hi Breuer, When reading ptpd code in sckit-fw-7.4-0002, I have a question. The getAdjFreq function in sys.c will call PHY_PTPTime_GetAdjFreq, which is a PHY PTP function. Why PHY PTP function is called here? What if the STM32 don't have a PTP support in PHY? Thank you very much! Regards Terry -- Anything is possible, it's the beauty of living. At 2017-05-03 03:05:57, "Jan Breuer" <jan...@ja...> wrote: Hi Terry, 1. I'm not using PTPd few years so I don't know current state but version in sckit-fw-7.4-002 is almost 2.3.1. Anyway, version in this package is almost mainline (minus dep folder) compared to your version which is heavily modified (read badly modified) old version 2.0.0beta. 2. There may be other problems (some compilation directives) but mainly yes, it should solve your problem. The version I have provided for ST has lot of bugs. I have corrected these bugs after attending PlugFest and send it to ST but they never rereleased this corrected version. So please don't use your/this old version, because of these bugs. 3. K64 is powerful MCU, don't be afraid. 4. Only problem on MCUs is that it have hardware timestamping of both TX and RX PTP packets. PTPd 2.3.1 uses only RX timestamping and it uses multicast loopback for its TX packets. I have modified PTPd to remove loopback path and replace the TX timestamp with real TX timestamp. Thats all. I was using my device with STM32 as grand master clock tuned by GPS, so yes, it works as master. Best, Jan 2017-05-02 20:08 GMT+02:00 Terry <ter...@12...>: Hi Breuer, Thank you very much for answering my questions. It's really helpful! Today I read the code of latest 2.3.1 version ptpd and think about porting it. It seems version 2.3.1 has changed a lot compared to the version on STM32. I have more questions on the porting and STM32 version ptpd. 1. Do you mean that the latest version has fixed a lot of bugs on a MCU and the lastest version is easier to be ported to a MCU? 2. Do you mean that if I set rtOpts->slaveOnly to FALSE, the PTPd will be a master clock then? 3. The latest version of PTPD, 2.3.1, uses double in timerStart. For MCUs may not have a hardware float unit, the float operations might be slow. 4. The ancient version of PTPd may not work on my MCUs. Can you give me some advices or potential risks in porting PTPd on MCUs. (My MCU K64 can support hardware timestamping in MAC layer and I've finished enet driver for 1588 timestamping). After all, the ancient version of PTPd seems much more simpler. As I'm also using FreeRTOS together with LWIP for my ptpd on K64, I read your ptpd code in sckit-fw-7.4-002. I see that rtOpts->slaveOnly is set to FALSE. So can your STM32 ptpd be a master clock and two STM32 chip as master and slave can be connected and sync time? Can you kindly help me? Thank you! Regards Terry -- At 2017-04-28 21:15:52, "Jan Breuer" <jan...@ja...> wrote: Hello Terry, 1) You are using ancient version of PTPd. This version has also lot of bugs introduced by porting it to STM32 (I know it, because it is my early work). It may not work for you just because of this. Please update the PTPd at least to version in the mail thread or better port it to current version of PTPd. 2) You are setting rtOpts.slaveOnly = SLAVE_ONLY; in ptpd_thread so don't be surprised, it is slave only. Just set it to FALSE; Best regards, Jan Breuer 2017-04-28 13:12 GMT+02:00 George Neville-Neil <gn...@ne...>: Hello Terry, Whether or not the software runs as a master or slave is controlled by command line and/or configuration file arguments. In order to use the MAC clock to put timestamps in the packet you would have to tell the hardware to rewrite packets of a certain type. I don't know how that works in your hardware, so that's up to you. If the hardware looks at outgoing packets and rewrites them then all you should have to do is make a call in the ptpd daemon on startup to set that state. Best, George On 27 Apr 2017, at 8:12, Terry wrote: Hi Experts, I'm porting ptpd to NXP Kinetis K64 MCU which is M4 core and have a hardware time stamp support in mac. I've read the mail thread about ptpd on STM32 at https://sourceforge.net/p/ptpd/mailman/message/33196301/ . But it seems the STM32 may only act as a slave clock device. I need to implement both master and slave clock device and connect them to sync clock between them. The test environment is similar to the picture below. I've finish the first step porting based on the stm32 f4 ptp project on github: https://github.com/mpthompson/stm32_f4_ptpd . But now I find that in this project, STM32 may only be a slave only device. My question is that what else should I do if I need to implement a master clock device? And how can a device be master or slave? Is it self adaptive or set the master or slave behavior in code? Thank you very much! Regards Terry -- ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot_______________________________________________ Ptpd-devel mailing list Ptp...@li... https://lists.sourceforge.net/lists/listinfo/ptpd-devel ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Ptpd-devel mailing list Ptp...@li... https://lists.sourceforge.net/lists/listinfo/ptpd-devel -- Anything is possible, it's the beauty of living. At 2017-04-28 21:15:52, "Jan Breuer" <jan...@ja...> wrote: Hello Terry, 1) You are using ancient version of PTPd. This version has also lot of bugs introduced by porting it to STM32 (I know it, because it is my early work). It may not work for you just because of this. Please update the PTPd at least to version in the mail thread or better port it to current version of PTPd. 2) You are setting rtOpts.slaveOnly = SLAVE_ONLY; in ptpd_thread so don't be surprised, it is slave only. Just set it to FALSE; Best regards, Jan Breuer 2017-04-28 13:12 GMT+02:00 George Neville-Neil <gn...@ne...>: Hello Terry, Whether or not the software runs as a master or slave is controlled by command line and/or configuration file arguments. In order to use the MAC clock to put timestamps in the packet you would have to tell the hardware to rewrite packets of a certain type. I don't know how that works in your hardware, so that's up to you. If the hardware looks at outgoing packets and rewrites them then all you should have to do is make a call in the ptpd daemon on startup to set that state. Best, George On 27 Apr 2017, at 8:12, Terry wrote: Hi Experts, I'm porting ptpd to NXP Kinetis K64 MCU which is M4 core and have a hardware time stamp support in mac. I've read the mail thread about ptpd on STM32 at https://sourceforge.net/p/ptpd/mailman/message/33196301/ . But it seems the STM32 may only act as a slave clock device. I need to implement both master and slave clock device and connect them to sync clock between them. The test environment is similar to the picture below. I've finish the first step porting based on the stm32 f4 ptp project on github: https://github.com/mpthompson/stm32_f4_ptpd . But now I find that in this project, STM32 may only be a slave only device. My question is that what else should I do if I need to implement a master clock device? And how can a device be master or slave? Is it self adaptive or set the master or slave behavior in code? Thank you very much! Regards Terry -- ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot_______________________________________________ Ptpd-devel mailing list Ptp...@li... https://lists.sourceforge.net/lists/listinfo/ptpd-devel ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Ptpd-devel mailing list Ptp...@li... https://lists.sourceforge.net/lists/listinfo/ptpd-devel |