Posts

Showing posts from 2010

Xilinx Coolrunner II & Xubuntu

Image
After a few days wait the Xilinx Coolrunner II kit arrived in the post. The Coolrunner is a CPLD which contains Macrocells, which are a step up from the basic gate array of a PLD and the XC2C256 on this board has 256 macrocells configured via an interconnect matrix. Xilinx provide a programming suite, ISE, which is available for Windows and Linux. However they don't directly support Ubuntu.  Here is a brief howto to get the ISE running on  Xubuntu. The main hurdle with the ISE is that it requires a USB driver,  windrvr6, in order to use the Platform cable (DLC9G). However it is possible to configure Xubuntu to use libusb and to get the programming tool, iMPACT, to use this instead. 1.Install prerequisites.. apt-get fxload apt-get libusb 2. Configure the udev rules These load the correct hex file when the device is attached. jamesb@Jalapeno:~$ cat /etc/udev/rules.d/xusbdfwu.rules # version 0003 SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="00...

Audio board for the Camera A2D project

Image
Started working on the audio board prototype for the Camera A2D project.  It's based around a pair of NE5532 op amps. The input stage converts the balanced line input from the microphone, and the second stage acts as a preamp with level control to supply the correct levels to the nNovia. Should be on to some audio tests shortly so time to dig the signal generator and scope out.

Discrete Fourier Transform in Ruby

...Just for a laugh... I'm reading this amazing book at the moment,  http://www.dspguide.com/ and thought it would be fun to code some stuff in Ruby. The code... #!/usr/bin/ruby require 'complex' class DFT         def initialize( size )                 @freq = Array.new( size, Complex(0,0) )         end         # set data         def data( data )                 @data = data         end         # get frequency table         def freq                 @freq         end         # reset the frequency table         def reset                 @freq.map! do |...

Unit testing in TCL

The unit... #!/opt/local/bin/tclsh proc fib {n} {         if {$n==1}  {return $n}         if {$n==2}  {return [expr {$n-1}]}         if {$n==3}  {return [expr {$n-1}]}         return [expr { [fib [expr {$n - 1}]] + [fib [expr {$n - 2}]] } ] } The test... #!/opt/local/bin/tclsh package require tcltest 2.0 namespace import ::tcltest::* source ../src/fib.tcl # 1 1 2 3 5 8 13 21 34 test fib-1 { Test first is 1 } {         fib 1 } 1 test fib-2 { Test second is 1 } {         fib 2 } 1 test fib-3 { Test third is 2 } {         fib 3 } 2 test fib-4 { Test fourth is 3 } {         fib 4 } 3 test fib-5 { Test fifth is 5 } {         fib 5 } 5 test fib-6 { Test ninth is 34 } {         fib 9 } 34 test fib-7 { Test f...

The Six Characteristics of Shorinji Kempo

Image
Todays T-Shirt choice reminded me of the Six Characteristics of Shorinji Kempo. Ken Zen Ichinyo – Body and the mind are one. Riki Ai Funi – Strength and power should never be separated from compassion. Shushu Koju – Defence comes before attack.  Fusastu Katsujin – Defend and protect without killing.  Goju Ittai – Use hard and soft techniques together, in balance. Kumite Shutai – Pair work is fundamental.   And Live Half for yourself, Half for Others. http://bit.ly/mo_custardcat That is all.

Homebrew tapeless camera

Image
This is an ongoing project I'm working on which started as a circuit that I decided was necessary to be able to neatly interface the nNovia QC120 A 2D2  recorder to a Sony DXC-325P camera with CA-325P studio back. This interface deals with translating VTR start/stop signals from the camera into GPI signals to pause and resume the recorder when it is in record mode. In addition to the device control, there will also be XLR Balanced line input to be converted to unbalanced line level. There is also the possibility of getting it to communicate with the nNovia RS-422 port and using this protocol to control the device. I'm still working on the final design. I have built the PIC 16f872 based circuit that controlls the nNovia via the GPI control lines and this seems to work very well. The next step with the PIC interface is to try controlling the RS232 port on the nNovia to start and stop the deck and get its status. I will be prototyping the Preamp shortly. I have a plan to use the...

Is TDD Karate or Kung-fu?

Today we had a discussion in the office about the current TDD (Test Driven Development) course we are following and it has to be said there is more than a little confusion over it. One of the main sources of this confusion seems to be 'why' we are doing it.  And I can see where the confusion creeps in. Quite a few of the members of the team have years of programming experience and may already or have been practicing TDD in some guise or another so those people already know the benefits and have adapted the process to their way of working. To me this is fine. Perhaps they would be better served with working on some other very useful principles such as the SOLID principles. [Robert C. Martin] Some of the other members know of TDD and are perhaps reluctant to use it because of past experiences or whatever.  These people need to know what the goal is, what will they be good at at the end of this? At this point someone started explaining that it was like learning Karate. In some ...

Broadcast Technology

Image
Today I was lucky enough to visit our Central Technology Area at of our office in Manchester. CTA take care of a good deal of what is broadcast from Manchester to the region and they have a staggering amount of technology old and new which they look after. I didn't have a great deal of time to nose about but here are a couple of gems I spotted. A reel-to-reel deck and a machine that I'm guessing has something to do with time signals or the Pips - not really sure. This is a bit of nostalgia for me, it's an NTL 2212 IRD which was one of the first generation MPEG receiver/decoders. I used to work on these back in 1995.  I suspect this one has now been retired to be replaced by one of the Tandberg units. (Tandberg took over the NTL Advanced Products Division) If you thought the IRD was large by todays standards (most are 1u now) the NTL Series 2000 encoders were 12u!  But very pleasant to work on. (No BGA chips and few SMD's) I...

Of Droids and Muin

Image
For a while I have had it in the back of my mind to pick up on a couple of old projects that are kicking around the workshop. One of them was a project based on the Droids MUIN board with XBee modules. The original project which was going to be around rocket telemetry is now not likely to happen, but I decided to have a go at getting the PIC development environment set up for the Muin board. The MUIN (PN.990.005) is based on a 28 pin PIC 18F2520 with 10-Bit A/D, 32k Flash, two 8-Bit ports and a 6-Bit port. Oh, and to keep things interesting I want to use Mac OSX and an ICD2 over USB. So, on to the first challenge, finding a development environment. Sadly Microchip don't as yet appear to provide an environment for operating systems other than W*ndows. A quick search on google came up with a likely contender in piklab. Piklab is free and GPL and appears to have many of the features of MPLab, and it supports ICD2 among others.  Installation was greatly eased by using Macports. s...

The Beagle has Landed

Image
...The Beagleboard, that is. Beagleboard is a fanless USB powered single board computer powered by an OMAP 3530 ARM Cortex A8. http://beagleboard.org/ It's got USB, Serial, SD/MMC, Stereo audio IO and DVI-D (via a HDMI connector) out. There are projects getting Android and Linux running on it as well as other OS's I'm planning on running RiscOS Open on it. http://www.riscosopen.org Fun times...

Wakefield Acorn & RiscOS Computer Show

Image
It was the Acorn and RiscOS show in Wakefield. I've not been before but I have heard about it and now we're not living too far away it's become more realistic to get to. For a platform whose original creating company died 12 years ago, there is still a devoted if small following. Not only are people still interested in using the machines and OS, but people have taken over development of the OS and there are now two streams of RiscOS development, one through Castle Technologies who bought the rights to the OS and hardware designs and also produced new RiscOS computers in the form of the Iyonix, and http://riscosopen.org who are tasked with releasing RiscOS as an open source project. Interestingly the RiscosOpen project has produced ports of RiscOs which run on netbooks and also platforms such as Beagleboard. There were also people exhibiting older 8 bit computers such as the BBC B and Master. There are people out there now producing new storage solutio...

Wayback Machine - Putting it all together

Image
Started work putting the front panel together, and also fitting the Arduinos in the case. It turns out the waveshield is capable of driving the speaker, and it works very well indeed. The sound quality is not bad either. I used the 'sox' unix program to convert MP3 data into raw 22khz 8 bit wav data. Here is the incantation I used :- sox the_archers.mp3 -b8 the_archers.mp3.wav channels 1 rate 22k I still need to get a decent printed card for the legend behind the top panel, but it's starting to look good. On a side note, someone at work had an old Radio Times, which suited the radio superbly..

Wayback Machine - Stripping the Hacker radio

Image
Thought I'd post a bit of an update on the progress of the Wayback Machine. The Wifi connection is working using the Wifly module (see previous post) and connects nicely to the router. I've had a few problems with RFI where the signal from the built in antenna seems to interfere with the other electronics causing the Wifly to keep resetting until you stop it by touching (and attenuating) the antenna with your finger. I hope to solve this at some point. I made a start stripping down the old Hacker radio. I thought I might be able to resuse the amplifier board, but to be honest I don't think I'm going to have room for all the electronics and two PP9 batteries too. So I'm hoping the Waveshield amp is capable of driving the speaker, perhaps with a small amp. Next step is to get the Arduinos wired up together and to the Wifly via a MAX3232. (The Wifly is 3.3V logic, so needs a level converter and the MAX is a very proper way of doing that.) I've also got to get th...

WiFly WIFI Module

Image
WiFly Ver 2.15, 10-15-2009 MAC Addr=00:06:66:00:23:c2 Auto-Assoc Custard chan=1 mode=MIXED SCAN OK Joining Custard now.. *READY* Associated! DHCP: Start DHCP in 186ms, lease=86400s IF=UP DHCP=ON IP=192.168.1.66:2000 NM=255.255.255.0 GW=192.168.1.254 Listen on 2000 CMD ls FL# SIZ FLAGS 11 17 3 WiFly_GSX-2.09 28 1 10 config 29 1 10 custard 30 1 10 cis 31 18 3 WiFly_GSX-2.15 207 Free, Boot=31, Backup=31