90 likes | 153 Views
Team 19 - Money Bags Software Narrative. Presenter: Calvin Mwesigwa. Abstract.
E N D
Team 19 - Money BagsSoftware Narrative Presenter: Calvin Mwesigwa
Abstract A Monopoly game that outputs to a VGA port in which up to 7 Bluetooth android based devices can view information, roll the dice and execute trades through their Bluetooth devices. The unit itself will output the game board and various animations through VGA while also playing sound through built in speakers.
Block Diagram VGA JTAG RGB+RESISTORS(2:0) Data(7:0) VSYNC HSYNC 1MB Video Memory IS61WV12048BLL-10TLI Q (7:0) 8 Bit Tristate SN72LV573A VGA Logic LC4256V CPLD WE 50 Ohm Antenna D (7:0) OE Addr(19:0) Bluetooth Module RN-42 BUSY Data(7:0) RA(2) Pic 32 PIC32MX795F512L WE RE(8) RE(7:0) VCLK W_ADDR(19:0) RD(15:10)&RB(15:2) UART FRAME_SEL RE(9) 3.5mm Jack 25.175 Mhz Oscillator 8MB FLASH SPI3 JTAG MPEG Decoder ST013 DAC CS4334 I2C UART RJ11 UART 14.7456 Mhz Crystal
Design Considerations • We are building a distributed system on the console and Android devices • Had to come up with a simple and lightweight protocol to perform periodic updates of Droids • We are limited to 512kB of memory for game logic and save game data • Bluetooth module could only accept 8 unique connections so this limited us to max of 7 players
Interfacing with Peripherals • Connect to the Bluetooth through UART on pin 52(U1RX) and pin 53(U1TX). Bluetooth operates in slave mode. • Connect with MPEG decoder on pin 66(SCL1 ) and pin 67(SDA1 for I2C1) while the MPEG data is sent on pin 81(Port D). MPEG decoder runs in multimedia mode and provides all signals for DAC. • Connect with CPLD via Port B(15:2) and port D(15:10), Port E(9:0) and Port A(3:2)
Application Code Organization • The overall main function runs as a polling loop • We chose a polling loop because our console goes through the same sequence of operations once the game starts and keeps repeating them until the game ends • The Bluetooth module continuously sends data to the micro as soon as it receives it because it is the sole source of user input. • The microcontroller acts as the central repository of all game data and droids ‘check out’ and ‘commit changes’
Software Development Status • Done • CPLD code module • Basic test programs running on the PIC32 • In progress • Android Application • C Code Implementation of Monopoly • Compilation of C Code onto the microcontroller • To do • Implement all Bluetooth code module • Come up with a format for commands for droids