Starting to use Freescale 8bit MCUs...?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Starting to use Freescale 8bit MCUs...?

1,918 Views
tetsu_jp
Contributor I

I bought a small demo board a while ago.

It has attached a 9v battery still powers up the part number is very hard to read,

might be MC908Q4 (8 pin IC). Serial cable, well around somewhere.

The included Code Warrior was not possible to use on 64bit Windows,

and back then I abandoned my older Windows98 computer.

 

Also have some MC9S08AW16 ICs around.

And I saw today there is now a Code Warrior IDE that works on 64 Bit Windows.

 

I also use PIC microcontrollers, recently changed to Hitech C.

I am quite familiar with them the flashing is easy and the IDE simple.

 

Should I get an USB programmer, and start building some circuit with the MC9S08AW16?

What would be the gain compared to PICs?

Sometimes I am thinking this Freescale stuff also is powerful and quite interesting,

but there is too much effort to become familiar with it.

Back then I flashed the small demo PCB a few times with a demo program,

but also this process was considerably more difficult than on the PIC.

Maybe this has changed now.

 

Can you give me any idea of a circuit or application that would be more difficult to design

using a PIC, and more easy using a Freescale MCU? I see the program memory is larger,

the assembler language is CISC not RISC (anyway I want to use more C), but also

new PICs are more powerful now.

 

If I look at this forum most users seem to be professional with years of experience already.

Recently I also started to sell some small PIC based PCBs however I have no idea

if it would be worth the efforts to start using these 8 Bit Freescale MCUs.

 

I have recently designed a serial LED display using a 16f54, only has 512 program steps.

 

So maybe you understand sometimes when I go through inventory I see these Freescale chips and this demo board,

sometimes I think how about to do something with them. Today I saw the information for the Windows 64bit IDE.

 

Any feedback? 

Labels (1)
0 Kudos
7 Replies

926 Views
Lundin
Senior Contributor IV

If you have a 68HC08 and want to learn about Freescale MCUs, I would strongly recommend to abandon that MCU/board. 68HC08 is an obsolete MCU family that is replaced by S08.

 

One major difference between 68HC08 and S08 is the programming interface. 68HC08 uses the obscure, error-prone interface known as MON08. S08 uses the far better and safer BDM programming interface. "Programming pods" for all Freescale interfaces can be bought from http://www.pemicro.com or http://www.smh-tech.com.

 

> What would be the gain compared to PICs?

 

Most notably, S08 is far far more code-efficient than PIC. This means devastatingly faster programs and less flash memory consumption. This is not something unique to Freescale though, you can take pretty much any 8-bit MCU and it will beat PIC in code efficiency. Freescale's strengths are in quality and reliability. Their MCUs are known to perform well in tough environments, with excellent EMC performance.

 

> Can you give me any idea of a circuit or application that would be more difficult to design using a PIC, and more easy using a Freescale MCU?

 

Low cost, relatively high performance (calculation-intensive) applications. Any critical-systems application in automotive/med tech/aerospace/industrial etc (PIC would perhaps not even be considered for these).

 

> If I look at this forum most users seem to be professional with years of experience already.

 

That is most likely because Freescale MCUs are almost exclusively used by industry professionals. There is no big hobbyist community like you will find for Microchip (and lately Atmel). It is also a correct observation that Freescale MCUs aren't easy to use: the manuals are vast and obscure, the hardware peripherals are complex but powerful, and so on.

0 Kudos

926 Views
tetsu_jp
Contributor I

OK thanks for the link for the flash writers.

I will consider to get one of these. 

 

Given the money I have put into and the number of chips (more than $5000, about 500 PICs, some 1000 other ICs),

it is more than a hobby. I have recently learned to use SMD parts/reflow.

It started in the year 2004 when I investigated how video game consoles actually work, not explanation

from a school book but sufficient knowledge to build one myself.

 

I also bought numerous 68000 chips, trying to design a small computer using static RAM

and a PIC to load data to the flash. I have one PCB design nearly complete using the 68SEC000,

also trying to get along with wire based prototype.

 

So this is how I noticed these freescale microcontrollers.

 

The new extended midrange PICs are good for many my purposes,

can read the flash directly, linear address range and useful pheripherals.

 

I have recently started building a LED matrix board having 24x18 LEDs, 432 LEDs altogether,

my plan so far is to use 3x PICs to buffer the rows (refresh), and they get updated using

the hardware serial port.

 

Since there will be variable brightness levels (8 or 16 levels),

the required computing power for the main controller might be considerable,

as well large flash memory is required for the fonts.

What is needed here is fast bit level manipulation + related instructions/addressing modes.

Using PICs there is the choice to use C but to have inefficient code, have a need for higher clock frequency,

or use assembly, and reduce clock frequency.

 

I consider to use the  MC9S08AW16 as master controller, eventually.

 

What I have is MC9S08AW16, one small MC908 demo board, 68K chips, various 16F/18F PICs and PIC32,

Altera CPLD and 2 GAL programmers.

 

I really look for chips/programming hardware that can do additional things more easy, faster, etc.

 

There are some older generation PICs which indeed sometimes are used for breadboard circuits or hobby circuits like the 16f84, I wonder people are still using this chip. It does not do good justice to PICs the 16f1824 for instance is far more powerful.

 

Using C on the PIC is comfortable, however the memory gets used up far more faster.

Using assembly is, well, you get a mess of 3 or 4 pages for simple tasks. These source

codes are hard to maintain.

 

So I want to start using the Freescale chips, since it is CISC instruction set,

but I am confused currently about different device families.

so the MC9S08AW16 belongs to HCS08 (or S08) device family (Yes printed in the manual actually)

I have read about the BDM interface in the datasheet but it is considerably more sophisticated

than for instance ICSP. 

 

One circuit I am currently writing software for it using HitechC:

http://pic.hitechworld.org/ledmatrixclock.html

It is not just a fun circuit or hobby purpose, one day I hope

to raise professional attention and eventually contribute to designs.

0 Kudos

926 Views
bigmac
Specialist III

Hello,


tetsu-jp wrote:

I have recently started building a LED matrix board having 24x18 LEDs, 432 LEDs altogether,

my plan so far is to use 3x PICs to buffer the rows (refresh), and they get updated using

the hardware serial port.

 

Since there will be variable brightness levels (8 or 16 levels),

the required computing power for the main controller might be considerable,


For this type of multiplexed LED application, individual peak LED current can be relatively high, certainly too large for direct drive by a Freescale (or PIC) MCU.  If I reasonably assume that you are multiplexing in three groups of 8 columns per group, a peak LED current of 50 mA would result in an average LED current of only 6.3 mA.  Each column driver would need to switch up to 900 mA, with all segments on.

 

So the main issue is what types of segment and column drivers to use, and the power management associated with these.  You might consider using special dedicated drivers for this purpose.  Many of these will connect to the MCU via an SPI facility (preferred over I2C for this application), and will usually provide segment current limiting with a single resistor.  Some of the devices will provide in-built multiplexing, and some may have digitally controlled current settings.  Since each driver package is usually limited to 8 or 16 segments, a column requirement of 18 segments will increase the device count.

 

With a suitable driver choice, it is possible that the MCU would not need to concern itself with the real time aspects of multiplexing and brightness control.  From the Maxim range, you might evaluate the suitability of the following devices.  The decoding capability associated with some would be disabled for matrix control.

 

MAX6969/MAX6971/MAX6983

MAX6957

MAX7219/MAX7221

 

Regards,

Mac

 

0 Kudos

926 Views
tetsu_jp
Contributor I

Thank you for your reply, I have read some datasheets for drive ICs from Austria Microsystems.

 

And, the matrix was expanded, now having 32x24 = 768 LEDs.

I have added a 3.3 volts regulator + small cooling fan to the prototype.

 

It is nearly complete about 80% of the LEDs in place + shifting register chains in place.

 

Initially I want to power up 1/4 of the matrix, and then examine heat/current issues.

 

Also at any time, 4 rows (32 LEDs each) are active, resulting in 6 display phases.

 

In the meanwhile I examined arduino.cc a little and there are numerous members, many of them more seem to have beginners questions but there are also some professionals. I have ordered a (non-standard) Arduino PCB yesterday for the purpose my replies there can make sense using the IDE same like the others.

 

I'll try interface one of my serial LED displays (PIC based).

 

The matrix is interesting in so far as the PIC considered (16f1503) only has 128 bytes RAM, and 16 MHz clock, I don't know yet how much it will be capable implementing brightness levels, I calculated that I need about 1 Khz refresh frequency, and to deal with 3 bit data for each LED. My consideration is that I assemble this data from 3 bytes in parallel, so 3 bytes can contain data for 8 LEDs.

 

If I run into trouble I may consider to change over to a Freescale MCU. I have downloaded the IDE now, but don't have a flash writer and have not looked much into it.

 

Awaiting shipments of more solder wire to arrive in the next few days. 

0 Kudos

926 Views
tetsu_jp
Contributor I

http://arduino.cc/playground/uploads/Main/MAX72XX_Schematic.jpg

 

so the 7221 can control 8x8 LEDs?

 

I'd need 12 of these then. $4 each, and it provides overall brightness control, not for each individual LED.

 

I plan to show some 3d vectors, and use brightness levels for background shades.

I don't know if the PIC32 is able to do computing that allows me to project 3D shades :smileywink:

 

I am into this subject however, working with the limitation having a rather small display area 32x24.

 

I never used PIC32 so far have some chips around, also interested for Freescale MCUs, be it for the refresh control, or as master MCU.

 

And I am dedicated to put the project to a working state soon. 

 

http://pic.hitechworld.org/ledmatrixclock.html

 

this page contains a photo from the matrix in an early assembly stage, it's nearly complete now.

 

I always consider for such circuits how could it be done using a real factory made PCB, not using too much extra space, not using a stack of two PCBs or more than 2 layers. It's possible tough to use most SMDs, like SOIC and TQFP, as well flexible cable assemblies downto 0.5mm. 

0 Kudos

926 Views
bigmac
Specialist III

Hello,

 

The Eclipse based versions of CW (V10.x) do not support the older HC908 device family.  However, the MC9S08AW is supported.

 

Regards,

Mac

 

0 Kudos

926 Views
tetsu_jp
Contributor I

Well I see. What is the easiest way to flash these chips?

Is there documentation available?

Do I need a special programmer module?

 

I don't want to use a demo board or evealution board for the chips (MC9S08AW),

but to build them directly into a circuit. 

0 Kudos