Thursday, December 25, 2014

Limited time due to holidays but a bit of work on SAC Interface

Because of the holidays I didn't spend much time on the 1130, being busy with family. However, I did spend some time on the SAC interface and I bought myself an Intel Edison to play around with for some future aspect of the project.

SAC INTERFACE FOR ADDING PERIPHERALS TO THE 1130

I set up all the LED signal driving logic in the interface box, controlled by switch 0. When sw0 is off, the B register is displayed on the additional LED board. When sw0 is on, the additional LED board displays, from left to right:

  • T0 cycle
  • T2 cycle
  • T4 cycle
  • T6 cycle
  • X0 cycle
  • X2 cycle
  • X4 cycle
  • X6 cycle
  • Clock Out (running)
  • Phase A
  • Parity Stop
  • Reset
  • XIO instruction E1 cycle
  • Meter Out
  • Cycle Steal Level 1
  • Inhibit Cycle Steal Requests

The four user LEDs on the breakout board always display:

  • Interrupt Level 2
  • Interrupt Level 3
  • Interrupt Level 4
  • Interrupt Level 5

I worked with the spare fpga board (Nexys2) to ensure that the setup for reading and writing registers in the FPGA via the utility on the PC and a USB link were functioning properly. It worked fine, although the addresses and bits returned are reversed compared to the PC. I made a fix to swap the bits around end to end and got the results I expected. Based on that, I adjusted the SAC Interface board logic to ensure that I could access those registers via the SDK.

However, the erratic injection of interrupts was back, the on board LEDs didn't lite, and the LEDs emitted on the add-on LED board don't seem to correspond to anything useful. Something odd going on here, plus I don't yet know how to load the configuration into flash for automatic bootup.

I spent a bit of time working in Python to access the registers from a PC. This will be the heart of the virtual peripherals I will implement in the interface, but I have to get more familiar with the Adept SDK, the hardware system for USB communication, the ctypes mechanism in Python to call c libraries and other details in order to create solid code on the PC side. 

No comments:

Post a Comment