Skip navigation

Transportation

10 Posts authored by: Jan Cumps Top Member
This is a bit of a niche blog. The TI Hercules has two family members that always have memory parity checking on. That's very good, but requires a dedicated way of loading the memory into the flash.   In the past this was documented. But the documentation is not updated for the latest TI ARM compilers (V 18 and higher). And the documentation is marked for deletion.   I'm going to document here how I get it working, in case the original documentation disappears without backup. If ...
This is my first self written HET program that actually works. You can define a number of timers and let them create an interrupt when they expire. I've created 8 independent 1µs resolution timers in this example. Many more are possible*1. All previous posts were to train myself for this. While porting a LoRa example from MBED to Hercules, I tried to create timers with interrupts on the Hercules just by winging it. That never worked. Frustration . By blogging about all the previous ex ...
A very simple HET example: Project1 - generate 2 PWM signals and simulate them with Synapticad Wave Viewer. In the previous posts I reviewed a HET application note called HET Getting Started. This time I use another application note called HET Getting Started. That one is for the TI TMS470 family but works perfectly with the TMS570/RMxx too. It's simpler, using a few lines to generate two PWMs with same frequency and different duty cycle. Ideal to show a simulation with Synapticad's WaveVie ...
A very simple HET example: Project0 - generate a PWM signal with a fixed duty cycle. The previous posts were a showcase: let the timer module do some calculations while generating and and measuring signals. In this much simpler post let's take a step back. The TI Application Note NHET Get Started*1 shows the core specialty of the HET module: counting   In order to create a fixed frequency pulse with a fixed duty cycle, only two lines of PWM code are needed:   L00: CNT{next = L01, ...
This project uses the timers of a TI Hercules microcontroller to generate complex digital signals and to measure digital signals.   In this post: measure the the duty cycle of the previous post and take actions when it's about a certain range. The actions are: put a pin high as long as the duty cycle stays outside the accepted range (error output) throw an interrupt to the host microcontroller     This project is based on TI's application note spna178: Monitoring PWM Using ...
This project uses the timers of a TI Hercules microcontroller to generate complex digital signals and to measure digital signals.   In this post: create a triangle wave by modulating the duty cycle of a fixed frequency pulse wave.     This project is based on TI's application note spna178: Monitoring PWM Using N2HET. That note explains the functionality and has a link to a Code Composer Studio project . I'm using these as the source for the blog series.   Triangle si ...
This project uses the timers of a TI Hercules microcontroller to generate complex digital signals and to measure digital signals.   The TI Hercules microcontroller has interesting timers. They call them high-end timers, HET. They are autonomous programmable subcontrollers. HET modules are specialised to run logic in a deterministic time. Whatever happens in the outside world. a HET block will grind through the steps, clock steady. It's a tough module to program for, though. All the abstr ...
The Hercules microcontroller family has a programmable timer coprocessor. In this post, I'm making it simulate an extra SCI / UART channel. With read and write interrupts. I did this exercise for a fellow member on the TI e2e forum, Praveen. He got most of it working, except the interrupts.It's 100% based on the application note UART Implementation Using the N2HET, but ported to one of the smallest controllers in the Hercules family - the TMS570LS04x -  that has a single SCI / UART con ...
This may be my slowest blog series ever - previous post was October '17.   I'm trying out basic CAN communication on a Hercules microcontroller. In this part I have my driver boards working.   I designed a tiny CAN driver PCB more than a year ago, for the Microchip CAN Bus Analyser Tool Road Test. At the time, it didn't work. Road Test stress and work and life prevented me from getting to the bottom of the issue. You can see some of my trials in the comments of part 3c: Design ...
DMA and memory cache don't always play nicely together. I had an issue when trying to use serial communication and DMA on a TI Hercules controller. The DMA data wasn't appearing in my read buffers. TI's application specialists helped me to resolve my issues. It was related to ARM memory cache settings. I've written a step-by-step guide on the hackster.io forum on that subject.     Due to the subject, this hasn't turned into an easy-to-read novel. I hope it may help fellow develop ...

Filter Blog

By date: By tag: