Input/Output Systems and
Peripheral Devices
Homeworks - Applications (2013/2014)
1. Transfer of data to a printer using the USB interface
- Programming in the C language
2. Implementation of API functions for the ATA interface
- PIO transfer mode
- Programming in the C language
- Application to exemplify the use of functions
3. Implementation of API functions for the ATAPI interface
- PIO transfer mode
- Programming in the C language
- Application to exemplify the use of functions
4. Implementation of SCSI commands for magnetic disk drives
- Using the ASPI programming interface for Win32
- Programming in the C language
5. Implementation of SCSI commands for optical disc drives
- Using the ASPI programming interface for Win32
- Programming in the C language
6. Application for compact disc audio playback
- Programming in the C language
7. Connecting a 3x4 keyboard to the CP-JR ARM7 USB-LPC2148 development board
- Program for scanning the keyboard
- Programming in the ARM assembly language
8. Connecting a liquid crystal display to the CP-JR ARM7 USB-LPC2148 development board
- LCD02 display of 20x4 characters
- Communication via the I2C bus
- Programming in the C language
9. Connecting a liquid crystal display to the CP-JR ARM7 USB-LPC2148 development board
- LCD02 display of 20x4 characters
- Communication via the I2C bus
- Programming in the ARM assembly language
10. Emulation of a USB printer with the CP-JR ARM7 USB-LPC2148 development board
- Displaying texts on the LCD02 display of 20x4 characters
- Communication with the computer via the USB interface
- Programming in the C language
11. Communication with the CP-JR ARM7 USB-LPC2148 development board using the USB HID model
- Reading the status of buttons
- Controlling the LEDs
- Communication with the computer via the USB interface
- Programming in the C language
- Windows application on the computer
12. Debugging applications for the ARM microcontroller using a USB-JTAG adapter
- Using the OpenOCD debugger
- Using the CP-JR ARM7 USB-LPC2148 development board
Resources
The Parallel Port
Craig Peacock, Interfacing the Standard Parallel Port, Beyond Logic, 2005 |
Craig Peacock, Interfacing the Enhanced Parallel Port, Beyond Logic, 2005 |
Craig Peacock, Interfacing the Extended Capabilities Port, Beyond Logic, 2005 |
Specifications of the ECP port, version 1.06, Microsoft Corp., 1995 |
The Serial Port
Craig Peacock, Interfacing the Serial / RS232 Port, V5.0, Beyond Logic, 2005 |
The PS/2 Interface for Keyboard and Mouse
Adam Chapweske, The PS/2 Keyboard Interface, 2004, |
Adam Chapweske, The PS/2 Mouse Interface, 2004, |
The ATA/ATAPI Interface
T13 Technical Committee of Accredited Standards Committee NCITS, AT Attachment with Packet Interface - 6, |
American National Standard of Accredited Standards Committee INCITS, AT Attachment with Packet Interface - 7, |
American National Standard of Accredited Standards Committee INCITS, AT Attachment with Packet Interface - 7, |
American National Standard of Accredited Standards Committee INCITS, AT Attachment with Packet Interface - 7, |
The SCSI Interface
The Official SCSI FAQ, Ed. Gary Field, http://www.scsifaq.org |
Adaptec, Inc., ASPI for Win32 Technical Reference, 2001,
http://www.zianet.com/jgray/dat/files/ASPI32.pdf. |
The WNASPI32.DLL library and definition files for the ASPI programming interface |
American National Standard of X3T10 Technical Committee of Accredited Standards Committee X3, |
American National Standard of X3T10 Technical Committee of Accredited Standards Committee X3, |
The Infrared Communication Interface
IrDA Specifications, http://www.irda.org |
IrCOMM - Emulating the serial and parallel port through the IrDA interface, version 1.0, 1995 |
The LCD02 I2C/Serial Liquid Crystal Display
LCD02 - I2C/Serial LCD Technical Documentation, Crownhill Associates Ltd., 2005, |
The CP-JR ARM7 USB-LPC2148 Development Board
User manual (© ETT CO., LTD, 2006) |
Example of using the USB interface (© ETT CO., LTD, 2006) |
Example of using Keil uVision3 to create project file for Keil-CARM (© ETT CO., LTD, 2006) |
NXP Semiconductors, LPC2141/42/44/46/48 Product Data Sheet, Rev. 03, 19 October 2007 (© NXP B.V., 2007) |
Philips Semiconductors, UM10139 Volume 1: LPC214x User Manual, Rev. 02, 25 July 2006 |
Hitex Development Tools, The Insider's Guide to the Philips ARM7-Based Microcontrollers, 2006, |
Philips Semiconductors, Initialization Code/Hints for the LPC2000 Family, Application Note |
Philips Semiconductors, Using the Philips LPC2000 Flash Utility with the Keil MCB2100 and IAR LPC210x Kickstart |
Philips Semiconductors LPC2000 Flash Utility, Version 2.2.3 (© Philips Semiconductors, 2003) |
Keil™, An ARM® Company, MDK-ARM Microcontroller Development Kit, http://www.keil.com/arm/mdk.asp |
YAGARTO - Yet Another GNU ARM Toolchain, http://www.yagarto.de/ |
James P. Lynch, ARM Cross Development with Eclipse, Revision 4 Draft, 2006 |
James P. Lynch, Using Open Source Tools for AT91SAM7S Cross Development, Revision C, 2007 |
The Open On-Chip Debugger
Open On-Chip Debugger, http://openocd.berlios.de/web/ |
Hubert Högl, OOCD Starter, 2008, http://www.hs-augsburg.de/~hhoegl/proj/oocd-starter/index.html |
OpenOCD User's Guide for Release 0.3.0-dev, http://openocd.berlios.de/doc/pdf/openocd.pdf |
OpenOCD Reference Manual, http://openocd.berlios.de/doc/doxygen/index.html |
Dominic Rath, Open On-Chip Debugger, Diploma Thesis, University of Applied Sciences Augsburg, |
Freddie Chopin, OpenOCD Windows installer based on the libftdi and libusb-win32 libraries, |
USB - JTAG Adapters
Hubert Högl, USB to JTAG Interface, 2007, http://www.hs-augsburg.de/~hhoegl/proj/usbjtag/usbjtag.html |
Embedded Projects GmbH, OpenOCD USB: ARM-Mikrocontroller Anwendungen entwickeln, |
Updated: September 28, 2013