Showing posts with label JTAG. Show all posts
Showing posts with label JTAG. Show all posts

Saturday, April 26, 2014

Minima - CPU Module Progress

I have made some progress on my Minima CPU Module.

I had previously created a Homebrew REV02 of this module, but had to stop construction while waiting for the Crystal. During the down-time, I decided to make some major changes to the board, and have been working on REV04 of that layout effort every since.

But the Crystals came in, and I just could not talk myself into creating another 70 "vias" on a new board layout.

So, I decided to continue the build on the REV02 board, even though knowing it would not work in an actual Minima environment (it was missing some critical Minima circuit connections). It will work for experiments and while learning the Bootloader and Farhan's Raduino Sketch.

The Ardunio Bootloader Installed - Using an ISP

After the REV02 board was built, the next task was to download and install the Arduino Bootloader. I had an USBTinyISP kit that I had not built, but, therefore it was also untested.
Minima CPU Module and USBTinyISP
as used to install the Arduino Bootloader
With a little work, some head scratching, and some jumper wires, I got the Arduino Bootloader installed on my raw ATmega328 processor. Because the LCD uses some of the same pins used by the "In Circuit Serial Programmer" (ISP), the LCD was removed.

The Ardunio Bootloader took about 20 seconds to install.

The Radiono Sketch Installed - Using a Prop-Plug

Because I have one, I have previously decided to "try" to use the Prop-Plug (USB to TTY Serial) converter to install Farhan's Raduino Sketch from the Arduino IDE. Again, with a little work and research the sketch was install successfully.
Radiono Running after Sketch Installed
The Prop-Plug is lower-right, the Minima VFO is lower-center, the Tuning Pot is lower-left, and the LCD sets on header on top.

I knew from reading posts on the Reflector, and seeing a local implementation, that I wanted to make changes to the Radio's Human Interface, all change seem to work very well. But, only after actual connection to the Minima (yet to be finished) will I know for sure.

After the last few changes are made to REV04 of this module, I will have to decide whether to send it out for manufacturing, or do a another Homebrew Toner Transfer build.

--

Wednesday, April 23, 2014

Minima - CPU Module Mock-up

As stated is the previous post, I was concerned that maybe the JTAG header could interfere with the LCD display. A mock-up would be necessary verify clearance.
Minima CPU
Mock-up to Check JTAG Clearance
The mockup was done with a simple print of the layout, with headers pressed into a Styrofoam block. The display is supported by the header pin at the top and the two nylon screws as legs in the lower corners. Because this is an experimental device, additional constraints are not necessary. The header at the top left, is for BAND switching.
LCD Display Header
The JTAG 6 pin heard (2x3) is located beneath the LCD display. When in the JTAG header is in use, the LCD display will not be used, and therefore removing the LCD will not be a problem. In fact because the JTAG Programming process used a few of the same pins as those used but the LCD, removing the LCD avoids any interaction concerns.

Checking JTAG Clearance below LCD Display
(viewed from the left)
The LCD Display sets at a slight angle forward for the users viewing benefit.

The mock-up revealed an additional concern, the header on the right end of the module should be moved up a little to avoid the nylon screw. The two header on this end are the SSB Mode and Si570 control headers.
The Two Pin Herder Will be Moved to the Right
(viewed from the right)
The spacing between the LCD and front push switches appears about right for easy access. The header at the bottom is (left to right), AUX-CTL for the Minima Audio sections, the Tuning Pot, and the Programming header.
Push Button Switch will be
Mounted in Font of the LCD Display
(as viewed from User Respective)
With much research, I have discovered there are many JTAG header standards in use, some have as many as 20 pins. The high pin count JTAG headers are used for monitoring as well as In Circuit Programming. I will use the simple six pin header and configuration that is used by the Arduino.

With maybe only slight modifications, I am pleased with the layout and mock-up results.

--

Tuesday, April 22, 2014

Minima - CPU Module Mods - PLus

After chatting with my friend, Jeff - KO7M, I decided to again modify the next Revision of my Minima Controller. Jeff has pointed out that a new raw ATmega328 processor does not have a bootloader.

I guess I knew that already, but I thought that I could use the TxRx pins to download a bootloader similar to downloading an Arduino Sketch. I was wrong.

More research is/was obviously needed.

REV04 of my Minima Control Module
The Backside
The latest addition to my Minima Module Mods is a JTAG connector, which will be used to download the Arduino Bootloader, or other raw mode programs (or sketches). The JTAG connector is under the "locally" mounted LCD display (left of center), but the display will be un-plugged during the JTAG use, because the JTAG and the LCD uses some of the same processor pins. I will have to check that the JTAG connector pins will not interfere with the mounted LCD board.

Once the ATmega328 programmed with the bootloader, the display will be re-installed, and then normal sketch programming will be done via the Prop-Plug TxRx header (lower right).

My previous modifications included; Consolidation of several individual headers into a single AUX-CTL header (lower left), Remove the Minima schematic programming components which will be replaced with a Prop-Plug header. I have also added my own version of EMI suppression by adding 1nF caps to each board edge header pins.

This board is getting complex enough that I am considering having it professionally manufacture, it is about 6.6 square inches and will cost a few bucks, but it now has about 65 via's (which are not exactly fun to do on a Homebrew board). I may still create a prototype board via Toner Transfer, but it will take some time/work.

The goal for this board is to be compatible (but more flexible) with the Farhan Minima Transceiver Project. I also plan to use this board with/for other Test LAB projects.

More project info to follow .  .  .

--