******************************************************************************* ** Copyright © 2008, Xilinx, Inc. ** This design is confidential and proprietary of Xilinx, Inc. All Rights Reserved. ******************************************************************************* ** ____ ____ ** / /\/ / ** /___/ \ / Vendor: Xilinx ** \ \ \/ Version: 1.0 ** \ \ Filename: iic_sfp_readme.txt ** / / ** /___/ /\ ** \ \ / \ ** \___\/\___\ ** **Device: **Purpose: **Reference: ** ******************************************************************************* ** ** Disclaimer: LIMITED WARRANTY AND DISCLAIMER. These designs are ** provided to you "as is." Xilinx and its licensors make and you ** receive no warranties or conditions, express, implied, ** statutory or otherwise, and Xilinx specifically disclaims any ** implied warranties of merchantability, noninfringement, or ** fitness for a particular purpose. Xilinx does not warrant that ** the functions contained in these designs will meet your ** requirements, or that the operation of these designs will be ** uninterrupted or error free, or that defects in the Designs ** will be corrected. Furthermore, Xilinx does not warrant or ** make any representations regarding use or the results of the ** use of the designs in terms of correctness, accuracy, ** reliability, or otherwise. ** ** LIMITATION OF LIABILITY. In no event will Xilinx or its ** licensors be liable for any loss of data, lost profits, cost ** or procurement of substitute goods or services, or for any ** special, incidental, consequential, or indirect damages ** arising from the use or operation of the designs or ** accompanying documentation, however caused and on any theory ** of liability. This limitation will apply even if Xilinx ** has been advised of the possibility of such damage. This ** limitation shall apply notwithstanding the failure of the ** essential purpose of any limited remedies herein. ** ******************************************************************************* Application: iic_sfp -------------------- This IIC example consists of a polled mode design which uses the Xilinx IIC peripheral in dynamic mode along with its low-level driver to access the IIC interface of a user supplied SFP module plugged into the ML505/ML506 board. The application reads 64 bytes, beginning at offset 0x0, over the IIC bus. The SFP module used in this example was accessible at address 0x50 on the IIC_SCL_SFP, IIC_SDA_SFP IIC chain. Data output from a user supplied SFP module may differ from that shown below. CONFIG Switch Settings: 00010101 1. Connect the Host PC to the ML506 (J1 header) using a PC-IV or Platform USB JTAG cable 2. Connect the Host PC serial port to the ML506 serial port using a null modem cable and launch a terminal program on the Host (eg. TeraTerm) with the settings: 9600 baud, 8-N-1, No flow control 3. Launch XPS and open the ML506 EDK project (ml506_bsb_system.xmp) 4. Launch a Shell window using XPS menu selection: Project > Launch EDK Shell 5. Download bitstream in shell window by typing: impact -batch etc/download.cmd 6. XPS menu selection: Debug > Launch XMD 7. At XMD% prompt type: cd microblaze_0/code 8. At XMD% prompt type: rst 9. At XMD% prompt type: dow iic_sfp.elf 10. At XMD% prompt type: con Serial Port Output: ------------------- IIC Dynamic mode SFP access example - Calling SFP ReadByte Routine BytesRead = 64 ReadBuffer[0] = 03 ReadBuffer[1] = 04 ReadBuffer[2] = 80 ReadBuffer[3] = 01 ReadBuffer[4] = 00 ReadBuffer[5] = 00 ReadBuffer[6] = 00 ReadBuffer[7] = 41 ReadBuffer[8] = 00 ReadBuffer[9] = 80 ReadBuffer[10] = 04 ReadBuffer[11] = 00 ReadBuffer[12] = 19 ReadBuffer[13] = 00 ReadBuffer[14] = 00 ReadBuffer[15] = 00 ReadBuffer[16] = 00 ReadBuffer[17] = 00 ReadBuffer[18] = 00 ReadBuffer[19] = 00 ReadBuffer[20] = 4D ReadBuffer[21] = 6F ReadBuffer[22] = 6C ReadBuffer[23] = 65 ReadBuffer[24] = 78 ReadBuffer[25] = 20 ReadBuffer[26] = 49 ReadBuffer[27] = 6E ReadBuffer[28] = 63 ReadBuffer[29] = 2E ReadBuffer[30] = 20 ReadBuffer[31] = 20 ReadBuffer[32] = 20 ReadBuffer[33] = 20 ReadBuffer[34] = 20 ReadBuffer[35] = 20 ReadBuffer[36] = 00 ReadBuffer[37] = 00 ReadBuffer[38] = 09 ReadBuffer[39] = 3A ReadBuffer[40] = 37 ReadBuffer[41] = 34 ReadBuffer[42] = 37 ReadBuffer[43] = 32 ReadBuffer[44] = 30 ReadBuffer[45] = 2D ReadBuffer[46] = 30 ReadBuffer[47] = 35 ReadBuffer[48] = 30 ReadBuffer[49] = 31 ReadBuffer[50] = 20 ReadBuffer[51] = 20 ReadBuffer[52] = 20 ReadBuffer[53] = 20 ReadBuffer[54] = 20 ReadBuffer[55] = 20 ReadBuffer[56] = 44 ReadBuffer[57] = 20 ReadBuffer[58] = 20 ReadBuffer[59] = 20 ReadBuffer[60] = 00 ReadBuffer[61] = 00 ReadBuffer[62] = 00 ReadBuffer[63] = 31 Test passed