Re: Re: CRC -16 component
"Jamil Khatib" <[email protected]> Mon, 08 Mar 2004 14:31:53 +0000
| Newsgroups | gmane.org.handasarabia.nour |
|---|---|
| Message-ID | <[email protected]> |
Hi, Please find my comments below > > - Since bluetooth works on 1MHz we have to process the system >at faster clock rate specially if we are going to make serial >processing to reduce the logic size. For that reason there is a >block that generates pulses at 1 MHz rate while the system is >going to operate at higher clock rate. We can in this way speed >up the operations of other parts that are not dependant on the >inoput/output stream and use single clock in the system to >avoide multple clocks. > >Ravi>> My point was to devide the design in three parts. > a. Data Path : Which work at the rx/tx clock. > In tern saving power (since it is working at > lower frequency)and logic (pulse genarator is not > required, the logic to take care of the action on > pulses is not required). Jamil>> Do not you think that multiple clock domains in the system will be very difficult. What about the clock recovery from the RF chip? is it 1 MHz or what? > b. Controllers: Which controls the data flow and > takes intelligent decisions. It will be running > at the frequency that is required to support the > controller logic. > c. The host interface: This perticular block contals > the wishbone master, slave, DMA, Buffers and > control and status registers. These blocks > will run at the frequency which is required to > support the data-rate on bluetooth. > >If intention of the design is simpler then the approach suggeted >by you is very much applicable. But if the design needs to be >efficient in terms of power and gate-counts i my suggestion is >to go for the design approach taken in the latest CRC bloxk. > > > - in the CRC block (and most Data path blocks) I supply two >data inputs and do multiplexing inside the block because I do >not want to make external multiplexors. Besides that this will >simplify the system controller so it can control only the blocks >not the muxs. > >Ravi>> I was thinking from prespective of debugging the design >as a system. In this case we need to have more configuerablity >in terms of bypassing or pssing the data throught the datapth >elements selectivly. If we have the muxes outside each datapath >elements, it gives a better control over the controllabilty over >configueration of each of the data elements. > Jamil>> Could you please explain more how the external muxes will help in debuging. I think teh system controller will have to deal with more blocks (more complexity in teh microcontroller code) > I'll try in the coming days to read the documents and send my >comments. > > Best regards, > Jamil Khatib > >> On 3/1/2004, "Mohamed Salem" <[email protected]> >wrote: >> >> >Dear All, >> > >> >This presents a detailed description of the CRC-16 component >> >functionality in the bit-stream processing of the bluetooth >baseband >> >datapath. >> >(This will be added to the HW spec. document on NOUR folder >on HA site) >> >------------------- >> > >> >Processing description: >> >------------ >> >-The CRC-16 will process the data of the payload (user-data.) >in TX and >> >CRC-16 part in the received packet in RX direction. >> > >> >Note: Bluetooth Packet is composed of the following: >> >{Header, HEC, Payload, CRC-16 Value on USER-data } >> > >> >-Some definitions: >> > >> >Payload : User-data ; pure data coming from the upper >bluetooth layers >> >and stored in the TX-Buffers (at the Transmitter). >> >TX- Buffers : 32 bits width , read from buffer one bit at a >time. >> >The DPRAM technology is suitable to implement the TX/RX >buffers >> >according to this context) .. will be revisted later while >desiging the >> >buffers. >> > >> >-Main Function: >> >-The function of the CRC-16 is to evaluate the CRC-16 value >on the >> >payload(user-data) and append it to payload (TX) >> >Check for the CRC-16 value correctness in the recieved packet >and inform >> >whether it is passed check or failed(RX) >> > >> >-The CRC-16 implements the CCITT (X16 + X12 + X5 + 1) >> > >> >-The CRC-16 uses a 16 bit LFSR register which has particular >(Xoring) >> >for certain Flipflops outputs that are fedback to another FF >inputs of >> >the LFSR.Refer to figure 3 in HW specs on the NOUR folder on >HA site. >> > >> >-The data is flowing to the block in serial fashion each >clock cycle of >> >1 MHZ of system clock. >> > >> >-The LFSR is initialized to ZEROS (seed-value) of the LFSR >using an >> >initialization input signal at the start of the system. >> > >> >-The system controller will enable the block for operation >before the >> >start of CRC -16 processing using an "enable" input signal. >> > >> >-At the end of payload (user-data) the main system controller >will >> >inform the CRC-16 by asserting a "drain" input signal high. >> > >> >-The drain signal should be asserted "1" for 16 clock >cycles.When >> >working on CRC-16 processing the drain signal should be >(zero) and the >> >output should be maintained to the value of the input data ( >a 2-1 MUX >> >is used for that purpose ) >> > >> >-The 16 clock cycles are enough to "Drain" the LFSR.Hence, >the CRC value >> >(16 bits)would be appended to the payload while TX operation. >> > >> >-In the RX direction, whenever the CRC part is checked and >verified the >> >content of the LFSR should be "Zeros" .Hence, the CRCMATCH >output signal >> >should be asserted high , indicating the CRC check >correctness. >> > >> >--- The signal description of the CRC-16 block : >> > >> >Input signals: >> > txRxClk : 1 MHz clock. >> > sysReset_n : Active low global reset signal >> > txRxDataIn : A multiplexed (txData: at the time of >> > transmit and rxData: at time of >reception) >> > data on which the block has to >> > calculate/check CRC-16 >> > init : A pulse to initialize the LFSR of the >CRC-16 >> > block ( This signal should be asserted >for >> > at least a clock period of txRxClk before >> > start of each transaction). >> > drain : This signal gets asserted in the transmit >> > direction only, when the data is over and >> > the calculated CRC-16 has to be appended, >> > it should be high of 16 clocks of txRxClk >in >> > turn draining all the 16 bits of CRC-16 >> > LFSR. >> > enableBlock : It enables the LFSR to calculate/check >the >> > CRC-16. (I am not sure whether it is >> > required or not, but it's better to have >it. >> > if it is not required it will be tied to >> > "1".) >> > >> > Output signals: >> > >> > txRxDataOut : If the drain =3D=3D "0"; it holds the value >> > of txRxDataIn. >> > If the drain =3D=3D "1"; it holds CRC-16 >> > calculated value. >> > crcMatch : Whenever the value of the LFSR is equal >to >> > "0", the crcMatch gets asserted. It is >> > receive controller's duty to sample it >at >> > the end of the packet, to know whether >> > CRC-16 has passed or not. >> > >> >Block-Diagram: >> >will be added to HW spec document on NOUR folder. >> > >> >>---------------------------------------------------------------------- >> >The details of the CRC-16 component will be added to the >Bit-stream HW >> >spec. document. version 0.1 >> >-------------------------------- >> >By March 8th , the whole Architecture and explanation of the >baseband >> >datapath should be available in details on our spec. document >which is >> >going through the review and update process this week. >> >----- >> >Waiting for feedback and review .. >> > >> >Thanks all for your efforts .. >> > >> >Best Regards, >> > >> >=09Mohamed A.Salem >> > >> > >> > >> > >> >-------------------------- >> >NOUR Mailing List >> >Handasa Arabia Organization >> >http://www.handasarabia.org >> >[email protected] >> > >> >Message number 114 >> >> -------------------------- >> NOUR Mailing List >> Handasa Arabia Organization >> http://www.handasarabia.org >> [email protected] >> >> Message number 116 >> >> >> >> > > >-------------------------- >NOUR Mailing List >Handasa Arabia Organization >http://www.handasarabia.org >[email protected] > >Message number 117 -------------------------- NOUR Mailing List Handasa Arabia Organization http://www.handasarabia.org [email protected] Message number 119