Wednesday, May 18, 2011

Serial Killer

Today my plan is to test serial communication with the FEDM board. First over the JTAG port (jtag_uart), then over the separate (DE9/RS-232) uart_0 connection.

We had a bed smell in the lab this morning. Smelled like an organic solvent. This has happened several times before. Fixed it by pouring water down drains to fill the traps. Ray says the traps were improperly installed - if they had been installed correctly, they would be kept wet automatically, and filling them manually would not be necessary. Then Ray spent most of the day calling around to various university, municipal, state, and federal offices to try to get someone to fix the problem permanently. Eventually, some guy in a suit from EHS came by and said that he would fix it, perhaps by sealing the drains. Hopefully, their doing this doesn't violate building codes (what if there was a leak and the lab flooded? Then the drains would be needed). The fire department told us, next time this happens, just call 911, and a hazmat team will be there in 5 minutes with sniffers.

JTAG I/O, the embedded Nios core, and interactive debugging from the IDE are working. Important note: One of the 10-pin headers is for Active Serial EEPROM programming, the other one is for JTAG.

Trying to get serial comm working. Output is garbled. At first I thought maybe it was an incorrect clock speed setting. However, then I verified that the board clock is the expected 50 MHz. During this process I discovered a bad pin assignment on the clock output was causing an intermittent short. There could be other shorts in the gelware as well, which could account for the high power consumption. Emailed Sachin & Vaibhav about the bad pin assignments.

On the way home, I realized that the DB9 connector was wired directly to the FPGA - it should be going through a level shifter to interface to RS-232 line protocol. Thus, the voltage levels are wrong, and inverted. This explains the garbled serial data. Fortunately, I still have the level shifter from SparkFun (as well as my breadboarded version of it), so I can easily fix that problem.

No comments:

Post a Comment