Hi Coldfire fans!!
Please note that a new service pack (SP7) is now available for this project. See the service pack page for the link to it and SP release notes -
http://www.utasker.com/software/softwareV1.3.htmlThis service pack is very hardware related. The chips have great peripherals and has fast become a favourite for industrial projects. Such projects start using the uTasker primarily due to its Ethernet support and specifically it TCP/IP stack but don't stop there. The projects' main tasks are usually to do with control and so the Ethernet connection is not the only peripheral which is required. This service pack adds more HW interface support as required by such projects so as to enable faster and more efficient realisation of greater parts of real-world project.
Here's a quick list of new features:
- ST SPI FLASH driver
- ADC interface (with interrupt based trigger level, zero crossing and SYNC support)
- Practical PIT interrupt interface for HW delays
- Powerful DMA Timer interrupt interface allowing flexible delays, frequency generation and capture applications
- Improved peripheral power management support built in to all drivers
- FTP script examples and DEL *.* option
- M5221X and M5222X project support
- _SETBITS and _CLEARBITS macros for improved port efficiency
- More flexible PLL configuration
- Simulation support for all new features
I have to admit that the ADC interface was quite a task due to the fleixibility and rich features offered by the chip. The resulting interface allows most of the ADC modules capabilities to be simply used without need for detailed knowledge of the internal workings - for example, the power management is optimised to enable only parts of the module which are used; ports are automatically configured as ADC or SYNC inputs based on the user's requirement and sampling scans are optimised to incorporate only the necessary sequences based on present ADC configuration.
It will be necessary to add documentation concerning the new interfaces but they can be simply tested as follows using the examples in application.c.
PIT: enable HW support using
SUPPORT_PIT1 in
app_hw_m5223x.h and the demo
TEST_PIT in
application.c. This will show the module being set up for a few different periods and handling each via an interrupt.
DMA Timers: enable HW support using
SUPPORT_DMA_TIMER in
app_hw_m5223x.h and the demo
TEST_DMA_TIMER in
application.c. This will show the module being set up for a few different periods and handling each via an interrupt. Part way through the test a second DMA Timer is configured to generate a frequency, which then apears on its related TOUT pin.
ADC: enable HW support using
SUPPORT_ADC in
app_hw_m5223x.h and the demo
TEST_ADC in
application.c. This will show the module being configured to generate interrupts when the input signal leaves a defined voltage range. A second input will be configired with an offset and interrupt on zero-crossing. The code can be changed (using examples there) to test differential inputs and the use of the SYNC to activate a conversion scan with interrupt on completion.
The simulator allows all these to be tested without hardware. In the case of the ADC, the voltage on the input can be displayed by positioning the mouse over the port. By clicking on the port, the input voltage will be increase in steps. By clicking on the port with the SHIFT key held, the voltage will be decreased. This allows the trigger levels to be easily tested and also a conversion to be activated by a rising edge on the appropriate SYNC input.
Note that the (previously existing) edge port module interface code has been made conditional on the define SUPPORT_EPORT (see
app_hw_m5223x.h) and will need to be activated if your project is already using it!
Good luck with the SP7. I believe that the new interface support will enable useful savings in a variety of practical projects - if you discover any difficulties or restrictions in the new interfaces please report them here.
Regards
Mark