Unformatted text preview:

IntroductionUser GuideSocial ImplicationsThe PlatformThe ProcessorThe LCD DisplayThe KeyboardSoftware ArchitectureSoftware DetailsLab 1: A Scrolling DisplayLab 2: Scanning the KeyboardLab 3: Entering and Displaying NumbersLab 4: An RPN CalculatorLessons LearnedCriticism of the CourseENGI E1112 Departmental Project Report:Computer Science/Computer EngineeringStephen A. EdwardsNovember, 2011AbstractThis template attempts to illustrate both how to structure and write thefinal report for ENGI E1112 as well as serve as a very basic tutorial for theLATEX typesetting system.An abstract like this should summarize a document in a way that justabout anybody can understand. It should be roughly 200 words of puretext and not contain images, undefined terms, or bibliographic references.Address why you did what you did, what you actually did, and, space per-mitting, how you did it.My goal is to show you a document that is representative of good stylein both English and LATEX.1 IntroductionThis section should orient the reader to the document. Unlike the abstract, whichshould stand on its own, the introduction is an integrated part of the document andmay contain figures, references to later sections, and bibliographic references.Most paragraphs in technical writing follow the “topic sentence style” I am us-ing for this paragraph. The initial sentence summarizes the main point of the para-graph; the remaining sentences provide additional details. Following this structureshould make it easy to skim the document by reading the first sentence of everyparagraph.Be concise. This is the central point of Strunk and White [3], perhaps the bestEnglish style guide ever. I think of technical writing as an engineering challenge:how to clearly express ideas using as few words as possible. You will never bepaid (or graded) by the word in technical writing, so be conservative. Your readerswill thank you.1Figure 1: The HP 20b2 User GuideYou built a system that people are intended to use; tell them how to use it in thissection. Explain your calculator’s display and keyboard, and how to use themto perform computations. Don’t include any details about how you implementedthese things; those are for later sections.Follow a tutorial style: use plenty of examples, start simply and end with morecomplex examples. Feel free to look over another calculator’s instruction manualfor inspiration, but be sure to cite everything you use heavily.3 Social ImplicationsIn one paragraph or so, propose a use for our project that would serve a humani-tarian goal. Here’s an example paragraph for a wind-up clock:The clock we have designed can operate without any electricity, so isideal for developing countries in which electric power is scarce or tooexpensive for most people to afford. Many of its components can bemade locally, and all of it can be assembled and maintained locally.The benefits of the ability to keep time include the organization ofactivities such as schooling; assurance of proper time-critical proce-dures such as boiling water to sterilize it; and even simple scientificexperiments such as timing how long a ball takes to roll down a track.24 The PlatformIn this section, describe the hardware platform that you used to implement yourproject—the HP 20b calculator. The first lab writeup describes some aspects of it;more information can be found online.I first learned about hacking the HP 20b (Figure 1) from de Brébisson’s articlein Circuit Cellar [1], and eventually took some more information from the HP 20brepurposing project website [2].4.1 The ProcessorThe HP 20b is little more than a keyboard and liquid crystal display (LCD) con-nected to an Atmel AT91SAM7L128 processor. This mouthful of a name, which Iwill abbreviate to SAM7L, was given to it because it is part of Atmel’s AT91SAMseries of chips, which are all built around an ARM processor core (“AT” is for At-mel; “SAM” is “smart ARM core;” 91 appears to be arbitrary). The 7L series ofmicrocontrollers are designed for low power (hence the L), and the final 128 is areminder that it includes 128K of flash program memory.Figure 2 shows a block diagram of the SAM7L chip. It looks complicated,but is essentially a single standard processor surrounded by memory and a widevariety of peripherals, most of which we will not use. You should be aware of thesystem controller, which, through software, controls the clock and power supplyof each peripheral. This makes it possible to save energy by not powering onunneeded peripherals, but can also make a peripheral appear not to work if youneglect to turn on its power.4.2 The LCD DisplayDescribe the layout of the LCD. The HP 20b SDK, which you can find on HP’swebsite, includes a technical drawing of the LCD if you want to include it. Herewould be a good place to describe some of the library functions I provided for you(e.g., lcd_put_char7).4.3 The KeyboardWe tore apart some keyboards earlier in the term; here would be a good place todescribe what you found along with details of the HP 20b’s keyboard.5 Software ArchitectureIn this section, explain how the various pieces of software in your system worktogether. Describe what they do, but not how each piece works; leave that for thenext section.3TDITDOTMSTCKNRSTFIQIRQ0-IRQ1PCK0-PCK2PMCPeripheral BridgePeripheral DataControllerAICPLLSRAM2 Kbytes( Back-up)4 Kbytes (Core)ARM7TDMI ProcessorICEJTAGSCANJTAGSELPIOA (26 IOs)Timer CounterNPCS0NPCS1NPCS2NPCS3MISOMOSISPCKFlash64/128 KbytesDRXDDTXDTCLK0TCLK1TCLK2TIOA0TIOB0TIOA1TIOB1TIOA2TIOB2Memory ControllerAbortStatusAddressDecoderMisalignmentDetectionPIOPIOAPBEmbeddedFlashControllerAD0AD1AD2AD3ADTRG11 ChannelsPDCPDCSPIPDCADCADVREFTC0TC1TC2TWDTWCKTWIXINXOUTVDDIO1PWMCPWM0PWM1PWM2PWM31.8 VVoltageRegulatorGNDVDDOUTVDDCOREVDDIO1VDDCOREFast FlashProgrammingInterfaceERASEPGMD0-PGMD15PGMNCMDPGMEN0-PGMEN2PGMRDYPGMNVALIDPGMNOEPGMCKPGMM0-PGMM3VDDIO2TSTDBGUPDCPDCPIOPITWDTSystem ControllerVDDIO1SAM-BAROM (12 Kbytes)NRSTBFWUPPIOB (24 IOs)LCD ControllerSEG00-SEG39COM0-COM9PIOC (30 IOs)32k RCOSCSupplyControllerPOROSCBOD2 MHz RCOSCVDDIO1RTCUSART0RXD0TXD0SCK0RTS0CTS0PDCPDCUSART1RXD1TXD1SCK1RTS1CTS1DCD1DSR1DTR1RI1PDCPDCPIOPDCPDCVDDLCDCAPP1CAPM1CAPP2CAPM2CLKINPLLRCVDD3V6LCDVoltageRegulatorVDDIO2ChargePumpVDDINLCDFigure 2: A block diagram of the AT91SAM7L microcontroller that is at the heartof the HP 20b46 Software DetailsIn this section, include cleaned-up listings of every bit of code you wrote for thislab (only include the


View Full Document

Columbia ENGI E1112 - Departmental Project Report

Documents in this Course
Load more
Download Departmental Project Report
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Departmental Project Report and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Departmental Project Report 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?