A következő címkéjű bejegyzések mutatása: ARM. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: ARM. Összes bejegyzés megjelenítése

2018. július 31., kedd

DIY Curve Tracer 3. - MCU selection

As I mentioned earlier I wanted to change the two AVR MCUs from the original design to a single 32bit one.
Here are my selection criteria:
  • Two at least 12bit DAC channel - One channel is used for the sine wave generation, the second maybe used for the pulse generation (not designed, decided yet, but better if it is available)
  • Two at least 12bit ADC channel - For measuring current and voltage on the DUT. If parallel sampling and/or differential input available is good but not requirement
  • DMA for DAC operation
  • 32 bit core - ARM Cortex-Mx prefered
  • Arduino framework support, free, native C/C++ IDE support (I haven't decided between the two, so the support is necessary)
  • Low cost development board
  • Easily solderable (for me. Means: TQFP accepted, QFN, BGA not - I know this is my personal limitation, but I don't want to learn it right now)
Based on the specs above my choice is an STM32F303RET6:
https://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32f3-series/stm32f303/stm32f303re.html

And the development board for it:
https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-nucleo/nucleo-f303re.html

I ordered the board from Farnell yesterday. Today arrived:



Next: seting up the development environment

2014. április 30., szerda

FRDM-KE06Z de-bricking

On Monday morning I went to the office. There I connected the board to a Windows 7 machine. The status went to Ready from Programming imediatelly. In this way I was able to ugrade the bootloader and download the OpenSDA debugging firmware. The new bootloader (v1.11) stated imediatelly that the old one (v1.10) not compatible with the Windows 8.1. I was surprised on this a little bit. The problem is not new (http://pakahuszar.blogspot.hu/2013/12/windows-81-mired-freedom-2.html), but the board itself is a 2014 model. So I don't understand why Freescale wasn't able to put the corrected firmware into it.





2014. április 29., kedd

ARM Course 11.

Finished.
At least with the evaluated things. Just the module 15 left. It would be great to finish the game until the submission deadline (7th May).
Here is the result:


2014. március 3., hétfő

ARM Course 9. - Lab 9.

This also finished.
I'm getting sick of LED blinking.
I'm sure that at this Lab the description and the required behavior is not the same. So I found only the solution in the forum.
In the description was "record PortF bits 4,1,0 every time the input changes or the output changes", but the solution:
record PortF bits 4,1,0 every time the input changes or on and the output changes
In addition the information was missing about the storage of the initial state value - it should not be stored.

2014. február 28., péntek

DIP form factor ARM - This is sick

Here comes the ARM. To be able to use it in breadbord we need a DIP form factor version.Unfortunately this is not tom much exists.To be honest. Only two type exists:
  • NXP LPC810
  • NXP LPC1114 (one derivative)
The first is a DIP-8 chip, so it is not enough for the majority of applications. The second one is much better.
Nowadays it is a usual thing, that the bigger (in our case 28) pin ICs are hit the market in narrow (300mil) package. This is not the case regarding  the LPC1114. This IC is located in a 600mil package.
There are people who didn't like it.
And there are people, who does something against it:


My opinion: It is sick.

MCU Change - ARM

Because nobody answered to my question, I should do it. So the solution comes here.
First of all, who is manufacturing ARM Cortex based MCU's?
The known ones:
  • Texas Instruments
  • Freescale (aka Motorola)
  • ST Microelectronics (SGS-Thomson)
  • NXP (aka Philips)
  • Atmel
  • Toshiba
So the winner is.... no, no, none of above. I've development kits for four of the above six.
So the answer:
Nuvoton
You never heard about it? Sure? And on the name Winbond? You didn't get it either? But you can find components from them in your PC.
And the price?
The type in the example is NUC120LC1BN. And the price is 430Ft+VAT!!! (around $1.50)

2014. február 26., szerda

MCU - The Change

I'm thinking about plenty of new projects and new version of old ones. I feel that the MSP430 not suits anymore.
The aspects lead me to the MSP430 originally are getting irrelevant:
DIP package - I've learned handling, soldering SMD components. I've the knowledge and the source for manufacturing professional PCBs
Unbeatable priced development platform. The TI MSP430 Lanuchpad is still the cheapest one on the market, even it is not $5 anymore. On the other hand the competing manufacturers also speeding up. There is almost no MCU on the market what has no cheap development platform.
The first article what I read on the "Hobbielektronika" portal. It has no relevance now according to the knowledge and experience I've now.
I see if I start anything new (new project) with MSP430 I always facing significant difficulties.
From the hardware side:
Low pin count, missing peripherals. It leads me to use additional components what increase the cost of the project. On the other hand if I use other devices than the value line, the cost of the device and the required development platform will be high.
From software side:
Somebody may smarter than me and found easy solution, but for me the handling of the peripherals (especially the I2C bus) was a nightmare. There is no correct, working driver, and the code in the TI master library was partially usable after a thorough rewriting. I think, I'd like to spend my time to work out my ideas rather than this type of problems.
Because of the reasons above, I'm looking for the solution for a while. I think, I found it.
Pick a project example. Something like the controller of the UV lightbox (but not that). What I need for it?
  • 4 digit 7-Segment LED display (it is 12 GPIO with normal multiplexing)
  • A few button input (let say 4)
  • Buzzer
  • 1 output (to switching the load)
  • 1 input (trigger)
  • Serial communication (over USB)
  • RTC (yes, it will have a clock inside)
  • One, but more likely two timers
  • External 32.768kHz XTAL
  • BSL
A good part of this is not in the MSP430G series. The others (series) are pricy, typically requires state of the art development platforms (the classic Launchpad is not really suits). In addition like it or not, the MSP430 is a proprietary technology. From my point of view I would rather choose an ARM MCU. I did it already.
We can presume that a 32 bit MCU has higher price point than an MSP430 (or even an AVR or PIC).
This is not definitely true. Based on the requirements above I put together a comparison table:


There is two things what I will not tell now. The price and the exact type. You can guess (here in the comments).

2014. február 24., hétfő

ARM Course 8. - LAB 8

Yesterday evening I've finished the module 8. With this I'm standing at 47% (I need 70%). I still not feel the high level of this course. It take something like ten minutes to write and test the code, the construction of the circuit on the breadboard.
I've documented the result here:


32 Bit, 80 MHz and the LED blinking (my first PC had a 16 Bit 8 MHz CPU with a little more result). The biggest challenge during the construction was that I caught a bug. To be precise, not a bug but a "misprint".
I was looking for the the PE0 pin on the board. Finally I fond. Here:


Check the yellow marked designators! The two parts of the photo displays a part of the top and the bottom side of the Launchpad.

2014. február 19., szerda

ARM Course 7. - Sidenote

Unfortunately I had no time to continue the course material, because my other running projects (Frequency Counter, UV Lightbox, etc.) required some time.
Today I get a letter from Texas Instruments what is related to the course. They announced of the "Cloud Connected" Tiva C Launchpad (what we using for the course). If somebody register, even can win this stuff:
http://www.ti.com/ww/en/mcu/Tiva_Connected_Launchpad_Eur/

2014. február 17., hétfő

ARM Course 6. - The continuation

Uppps. The previous post also had the same name.
So, according to the facebook page of the course, the continuation will be available within two hours: at 18:00 UTC. The 8-11. chapter.
When I finish at the dentist, I can start to work on it (or maybe I'll do other things, I've plenty of tasks waiting for me).

2014. február 5., szerda

ARM Course 5. - The continuation

So I'm not happy. I was looking around on the course forum. The continuation will be released on 13th february.
I can do two things:
  • Wait (do other tings)
  • Start to work on the unofficial material

2014. február 4., kedd

ARM Course 4. - Comments to the Lab 7

The Lab 7 is not about the coding, but about understanding and modifying code written by others.
I read the original and found this:

  //S
  GPIO_PORTF_DATA_R |= 0x08;  delay(1);
  GPIO_PORTF_DATA_R &= ~0x08; delay(1);
  GPIO_PORTF_DATA_R |= 0x08;  delay(1);
  GPIO_PORTF_DATA_R &= ~0x08; delay(1);
  GPIO_PORTF_DATA_R |= 0x08;  delay(1);
  GPIO_PORTF_DATA_R &= ~0x08; delay(1);
  //O
  GPIO_PORTF_DATA_R |= 0x08; delay(4);
  GPIO_PORTF_DATA_R &= ~0x08;delay(4);
  GPIO_PORTF_DATA_R |= 0x08; delay(4);
  GPIO_PORTF_DATA_R &= ~0x08;delay(4);
  GPIO_PORTF_DATA_R |= 0x08; delay(4);
  GPIO_PORTF_DATA_R &= ~0x08;delay(4);
  //S
  GPIO_PORTF_DATA_R |= 0x08; delay(1);
  GPIO_PORTF_DATA_R &= ~0x08;delay(1);
  GPIO_PORTF_DATA_R |= 0x08; delay(1);
  GPIO_PORTF_DATA_R &= ~0x08;delay(1);
  GPIO_PORTF_DATA_R |= 0x08; delay(1);
  GPIO_PORTF_DATA_R &= ~0x08;delay(1);
  delay(10); // Delay for 5 secs in between flashes


Come on! Are you certain? Professionals write code like this? Tell me, this is a joke, not?
At least this. And this barely good enough:

    char i;
    char j;
    char delays[3] = {1,4,1};
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            GPIO_PORTF_DATA_R |= 0x08;
            delay(delays[i]);
            GPIO_PORTF_DATA_R &= ~0x08;
            delay(delays[i]);
        }
    }
    delay(10);

Do not panic. This is not the solution just the rewriting of the code above.
And this is the end of the 7th module. And what's next?
The 8th module is nowhere. To be precise "under development":
http://users.ece.utexas.edu/~valvano/Volume1/E-Book/



2014. február 3., hétfő

ARM Course 3. - Videos

In the mean time it turned out that the course videos are not only available on the YouTube but also available in the Amazon S3 (my favorite in these days). Here is the full list (just the first 7 module there yet):
http://users.ece.utexas.edu/~valvano/Volume1/E-Book/VideoLinks.htm

2014. február 2., vasárnap

ARM Course 2. - Over the 6th module

I've finished the 6th module, written the necessary code. This module at least gave some useful information and writing the code needed more time than five minutes (it just because I haven't checked some prerequisite in the material).
Now I don't know how to continue. Half of the 7th module already done and I intend to finish it tonight, but no more modules released yet.

2014. január 28., kedd

ARM Course 1. - First Impressions

So, I started the course. Within not a full week I finished 5 modules. Until this moment I lost only a half point (just because I was not careful enough).
Unfortunately until now I feel this material is not deep enough to me, but I'm not a C programmer ace. I hope that the later material will be harder, because under a name "Lab" writing a multiplication of two unsigned integer within a conditional block containing and relation of four basic expressions took me less that two minutes and it was producing a 100% in the grading on the first run.
If it goes this way, I'll finish the course in no time, but the learning value is doubtful to me. :-(

2014. január 24., péntek

ARM Books

In connection with the course  I've ordered the books wrote by the teacher on this topic.
These books also arrived on Wednesday:


In the mean time the optional Nokia 5110 display also arrived so the package is complette (I don't count the resistors, leds, etc. because I have them anyway at home)

It has begun

On Wednesday evening the ARM embedded course has begun:

 
https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embedded-systems-1172 
Yesterday evening I completed the first two modules with 100% result.
If somebody interested the first part of the videos are available here:
https://www.youtube.com/user/JonathanWValvano/videos?view=1&flow=grid
It seems to be that the rest of the videos will not be accessible through this channel. So lets register, it's free! 

2013. december 16., hétfő

Windows 8.1 - mired "freedom" 2.

Previously, I wrote about the problem in the Freedom Freescale development tools do not work with Windows 8.1 here.
Sience I know about the problem I wanted to jump on it with a USB logger and solve it from the Windows side.
To do this, I began to gather the necessary tools, but did not get further.
Yesterday I read here that P & E eventually solved the problem.
If there is a solution already available, use it!
I collected all the Freedom boards in the house.


And exchanged all of the software.
Together with the bootloaderrel the debug applications also new. The latter is now supports the storage and the debug functionality at once, so in the future there is no more application swapping.

2013. december 11., szerda

ARM Cortex-M4 course 1.

Two days ago arrived the first letter about the ARM course what I mentioned here.
It was also clear when I applied that I have to get a TI Tiva C Launchpad what they are using for the course, but it somehow I postponed the order.
The letter gave me a boost, so I ordered it.
Today It arrives. Here it is:


2013. június 30., vasárnap

New (sub)Project: Kinetis Development Platform

I'm planing to develop a new device. It will be some kind of widely usable serial LED display (with enormous amount of capabilities). I started to build the first version based on my regular MSP430 platform. Later I realized that the number of the I/Os of the DIP20 package will not enough. I tried to switch to the TSSOP-28 package, but both of the boards I soldered was failing (Because of the poor design of the breakout board and my SMD soldering skills. I had only two pieces of MSP430G2553 in TSSOP package in that time).
I tried to get new MCUs from the market and realized that it is not so easy here in Hungary in small quantities (or I get a really high shipment cost).
In addition the solution what I'd like to develop could require DAC and the MSP430 value line has no integrated DAC.
The two factors above and my hunger to learn additional MCU platforms lead me to switch this development effort to a different platform. My choice fell to FreeScale Kinetis KL05 series ARM Cortex-M0 MCU.
I bought the Freescale FRDM-KL05Z development platform for it.
At that time I realized that it has not enough I/O pins, the In-Circuit programmer connector has 1.27 mm ... what has high cost. There come the decision to create a development board what has the following parameters:
- Use 2.54 mm programming header
- Independent power source
- LQFP-48 form factor MCU
- Fits in the 50x50 Sick of Beige enclosure
- All of the GPIO pins available externally
- No integrated programer. I want to use the FRDM-KL05Z's OpenSDA as programer
I finished the design of the board.

I'll order the PCB from the seeedstudio on the next week (it shoud arrive after my vacation)