- May 11, 2008
- 20,272
- 1,151
- 126
If you are into microchip PIC architecture, then the PIC16F1509 might be the MCU for you. It has a small 8 pin sister that has also an insane amount of hardware.
Playing with this (enhanced architecture PIC) is fun. It pushes the most important registers into a shadow stack when servicing an interrupt. Thus no pushing and popping of registers if you only use one ISR at a time (I think this is called non reentrant but i am not sure)...
It has a "C" optimized architecture. Two 16 bit FSR's for indirect linear addressing of the entire memory (file registers and program memory).
Although with a few macro's from the very powerful MPASM assembler, you have almost the same ease of use in assembly as with c.
Which reminds me, that i have to find out the calling convention for the c compilers for microchip PIC MCU's.
What is amazing is that this chip is packed with an extreme amount of hardware packed in a 20 pin chip :
And on top of that , you get a sort of stripped down fpga functionality by using the (CLC) configurable logic blocks, the (NCO) Numerically Controlled Oscillator and the (CWG) Complementary Waveform Generator.
To get to work with the configurable logic blocks, microchip designed this handy dandy GUI tool.
You just make the connections and the program produces the desired values for the registers you must program.
I tested it, and it works great. You do need to be a die hard hardware enthusiast to make the best of all those logic gates.
http://ww1.microchip.com/downloads/en/DeviceDoc/CLCDesignerTool_Ver 3-0-0-2.zip
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en553474
I cannot wait until microchip starts producing more chips (With more pins please... Mr Microchip )with configurable logic blocks.
I myself made part of an experimental MCU controlled multi smps with it. And it works great.
Playing with this (enhanced architecture PIC) is fun. It pushes the most important registers into a shadow stack when servicing an interrupt. Thus no pushing and popping of registers if you only use one ISR at a time (I think this is called non reentrant but i am not sure)...
It has a "C" optimized architecture. Two 16 bit FSR's for indirect linear addressing of the entire memory (file registers and program memory).
Although with a few macro's from the very powerful MPASM assembler, you have almost the same ease of use in assembly as with c.
Which reminds me, that i have to find out the calling convention for the c compilers for microchip PIC MCU's.
What is amazing is that this chip is packed with an extreme amount of hardware packed in a 20 pin chip :
Enhanced Mid-range Core with 49 Instruction, 16 Stack Levels
Flash Program Memory with self read/write capability
High Endurance Data Flash block in lower 128 bytes of Program Memory(100,000 Writes min.)
Internal 16MHz oscillator
4x Standalone PWM Modules
Complementary Waveform Generator (CWG) Module
Numerically Controlled Oscillator (NCO) Module
4x Configurable Logic Cell (CLC) Modules
Integrated Temperature Indicator Module
12 Channel 10-bit ADC with Voltage Reference
5-bit Digital to Analog Converter (DAC)
MI2C, SPI, EUSART w/auto baud
25mA Source/Sink current I/O
2x 8-bit Timers (TMR0/TMR2)
1x 16-bit Timer (TMR1)
Extended Watchdog Timer (WDT)
Enhanced Power-On/Off-Reset
Low-Power Brown-Out Reset (LPBOR)
Programmable Brown-Out Reset (BOR)
In Circuit Serial Programming (ICSP)
Integrated In-Circuit Debug / or Use an ICD Header
PIC16LF1509 (1.8V – 3.6V)
PIC16F1509 (2.3V – 5.5V)
And on top of that , you get a sort of stripped down fpga functionality by using the (CLC) configurable logic blocks, the (NCO) Numerically Controlled Oscillator and the (CWG) Complementary Waveform Generator.
To get to work with the configurable logic blocks, microchip designed this handy dandy GUI tool.
You just make the connections and the program produces the desired values for the registers you must program.
I tested it, and it works great. You do need to be a die hard hardware enthusiast to make the best of all those logic gates.
http://ww1.microchip.com/downloads/en/DeviceDoc/CLCDesignerTool_Ver 3-0-0-2.zip
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en553474
I cannot wait until microchip starts producing more chips (With more pins please... Mr Microchip )with configurable logic blocks.
I myself made part of an experimental MCU controlled multi smps with it. And it works great.