EDNE April 2012 - (Page 60)

Ta l E s f r O m T h E C u b E Dan Dull • nOVO EnginEEring Printer parking brake appeared to be working correctly. The firmware team started working on the project, and, once the team had written enough firmware to make the printer function, it was apparent that this microprocessor appeared significantly slower than the old one. It should have been at least 10 times faster based on clock rate alone, but it also had caches and a DMA controller to further speed things up. The board had copious amounts of high-speed memory, and the FPGA had logic to offload some of the data-processing tasks from the main microprocessor. Something was horribly wrong, and, because I had designed the system, I was the only one who could fix it. The user’s manual for the microprocessor comprised two books with more than 1000 pages each. I grabbed both books and started reading. This incident occurred before PDF files were common, so searching was a manual process. While reading through the debugging section, I came across an interesting feature. This feature set the level of detail about the microprocessor’s core and instruction pipeline that is reported to an external debugger. As I read more about this debugging feature, I discovered that it affects the microprocessor’s performance. If you want more detail about what is happening internally, the core slows down. I checked to see what the default setting was and was pleased to discover that maximum detail, slowest core was the reset value. I modified the firmware to turn this feature completely off, and the microprocessor started running at full speed. The printer ran at full speed with no hesitation. My co-workers and I then decided to call this feature the parking brake.EDN Dan Dull currently works as an electrical engineer for Novo Engineering, a productdevelopment company in Vista, CA. This Tale is a runner-up in EDN’s Tales from the Cube: Tell Us Your Tale contest, sponsored by Tektronix. Read the other finalists’ entries at http://bit.ly/Talesfinal_EDN. Daniel Vasconcellos bout 15 years ago, I was working for a wide-formatink-jet-printer company in the San Diego area. The printers we designed could print on rolls of paper that were 5 feet wide and several hundred feet long. Needless to say, we needed to send an enormous amount of data to these printers to keep the print heads moving and the paper advancing. One of the key product requirements was throughput, specified in square feet per hour. Ideally, the print head’s firing rate governed the throughput. The rest of the system had to ensure that the print heads were always squirting ink onto the paper. If the print heads were not squirting, we were wasting time. Our customers tended to get upset when their expensive printer paused and hesitated while printing posters because they charge their customers by the square foot. The longer it takes to print the poster, the less money they make. My primary jobs were to design the controller board for these printers, design the FPGA that was on the controller board, and write the low-level firmware that interfaced with the hardware. Each new product we developed was roughly twice as fast as the previous product, so I constantly had to find new ways to process the image data faster. I started evaluating new microprocessors because the one we were currently using was occasionally making the printer hesitate after each pass of the print heads and would definitely not be sufficient for the next-generation product. After doing some research and analysis, I found a microprocessor that I felt could handle our processing needs for at least several more future products. I designed a controller board using this part, designed the FPGA logic, and wrote the device drivers and some test code. Everything seemed to be going well. All of the major functional blocks A 60 EDN EUROPE | APRIL 2012 www.edn-europe.com http://www.bit.ly/Talesfinal_EDN http://www.edn-europe.com

Table of Contents for the Digital Edition of EDNE April 2012

Cover
Contents
International Rectifier
Contents
RS Components
Masthead
Comment
International Rectifier
Pulse
Analog Devices
FTDI
Digikey
Mouser
Baker's best
Digikey
Test & Measurement
Agilent Technologies
Digikey
Protect POE systems
Hirose
Coilcraft
Mesago
Cover Story
Digikey
Signal Integrity
RS Components insert
Balancing GBWP and quiescent current
Noise wars
Design Idea
Product Roundup
Tales from the cube

EDNE April 2012

https://www.nxtbook.com/reedbusiness/edne/2013EDNEFebruary
https://www.nxtbook.com/reedbusiness/edne/2013EDNJanuary
https://www.nxtbook.com/reedbusiness/edne/2012EDNEDecember
https://www.nxtbook.com/reedbusiness/edne/2012EDNENovember
https://www.nxtbook.com/reedbusiness/edne/2012EDNEOctober
https://www.nxtbook.com/reedbusiness/edne/2012EDNESeptember
https://www.nxtbook.com/reedbusiness/edne/2012EDNEAugust
https://www.nxtbook.com/reedbusiness/edne/2012EDNEJuly
https://www.nxtbook.com/reedbusiness/edne/2012EDNEJuin
https://www.nxtbook.com/reedbusiness/edne/2012EDNEMay
https://www.nxtbook.com/reedbusiness/edne/2012EDNEApril
https://www.nxtbookmedia.com