In RFID (Radio Frequency IDentification) systems, a tag reader or a tag interrogator communicates with tags, reads their identification codes, and accesses their related database through a network infrastructure. There are many research activities in RFID hardware systems, but there is few in software infrastructure, especially on mobile devices. This paper presents software architecture and implementation of a multi-protocol RFID reader on mobile devices such as mobile phones and PDAs. We have designed and implemented most functionalities of a RFID reader in software except for code modulation and demodulation to support multi-protocols and the next coming standards easily. Also, in order to embed RFID reader's functionalities on WIPI (Wireless Internet Platform for Interoperability) based mobile devices, our firmware interacts with Handset Adaptation Layer (HAL). Any WIPI application can access our RFID reader system and query tags' information from Internet through HAL interfaces. We have prototyped our system on the ARM-based Excalibur FPGA with iPAQ PDA.