It was quite simple to implement USB part using SX, serial EEPROM and a few switching IC’s. Furthermore I found out that built-in features of SX MCU would help to create a device able to work not only with pure low-speed USB keyboards, but also composite, built-in-hub, things, hence covering all existing systems (SUN, Mac, PC). Recording keystrokes is fun, but if we can do that, why not go further and try to record all low-speed USB traffic. No problem for SX again, problem for the memory. Serial EEPROM is just to slow to handle it. Solution was www.ramtron.com FRAM with 1MHz two-wire interface (let me pay credit here to www.svtehs.com, who happens to advertise it). Finally “California Dreamin’” found a real life application in the world’s smallest low-speed USB analyzer “Atapchi” (stands for a small fruit in Singapore, tastes like apricot). I hope you find this project interesting (mail your questions to chinook at pacific.net.sg)
Ataphchi Features
- Full support for low-speed USB specifications
- 500 transactions capacity in non-volatile memory
- Signal quality checking
- CRC match checking
- Bit stuffing checking
- Data overflow checking
- One device dedicate capturing
- External triggering
- Bus powered
Atapchi Applications
- Development of HID class low-speed USB peripheral devices
- Development of small scale USB based networks
The list of MCUs you can use with Atapchi (not full)
- Cypress: CY7C630/1XX, CY7C3X/5XX, CY7C636XX, CY7C632XXA, CY7C637XX
- Microchip: PIC16C745, PIC16C765, PIC16F747, PIC16F767, PIC16F745, PIC16F765
- Motorola: MC68HC908BD48, MC68HC08JB1, MC68HC908JB8, MC68HC05JB3, MC68HC05JB4
- ST: ST7261X, ST7262X, ST7263
Atapchi Architecture
- Ubicom SX48BD/TQ micro controller with 100% software implementation of USB (improved version of “California Dreamin”)
- Ramtron FM24C64-S 64Kb FRAM Serial Memory with 1MHz two wire interface
- Murata CSTCW5000MX03-T 50 MHz small footprint ceramic resonator
- Switching circuits (other manufacturers)
- No USB interface (Atapchi is to be used with USB repeaters)
For more Detail: World’s Smallest Low-speed USB Analyzer using PIC16F877
Related projects
PIC16F877 Driving LCD in 4-Bit Mode using PIC16F877 with Proteus Simulation
Introduction This microcontroller project shows how a PIC16F877 can drive an LCD display using 4-bit mode inside a Proteus simulation.The project demonstrates...
Programmers & ICSP · PIC16F877AEPE PIC/LCD Demo using PIC16F877 with Proteus Simulation
IntroductionThe EPE PIC/LCD Demo is a classic microcontroller project that demonstrates how a PIC16F877 can fully control a PG12864F graphical LCD.Designed as...
Motors & Robotics · PIC16F877AEfficient Sun-Following Robot: A Solar Tracker with Microcontroller Control
Abstract The impending global challenge of dwindling non-renewable fuel resources underscores the urgency of transitioning towards renewable energy alternatives like solar power....
Communication & Interfacing · PIC18F4520CAN FD Node based on a PIC18 Microcontroller
The introduction sets the stage for an embedded systems project that involves developing a Embedded C CAN FD project using the MCP2517FD...
Communication & InterfacingLAN9662 Gigabit Switch: Optimized for Industrial Ethernet
Introduction It should come as little surprise therefore that one element of what is now more commonly referred to in some circles...
Communication & InterfacingPIC Microcontroller: Fundamentals & Applications for Students
Introduction Microcontrollers are the key components in the embedded systems market. A variety of embedded systems was formed and developed after the...