![48 • C/C++ Libraries](/images/new-backgrounds/103480/103480111x1.webp)
Bus Mastering DMA mode of the
PCI bus mastering offers the highest possible speed available on the
64k max groups.
1.To set up bus mastering, first do all normal
2.Load the PCI controller with the count and
3.After the input sampling is started, the input data is stored in the FIFO of PCI controller. Each bus mastering data transfer continually tests if any data in the FIFO and then blocks transfer, the system will continuously loop until the conditions are satisfied again but will not exit the block transfer cycle if the block count is not complete. If there is momentarily no input data, the
4.This operation proceeds transparently until the PCI controller transfer byte count is reached. All normal PCI bus operations applied here, such as a receiver that cannot accept the transfers, higher priority devices requesting the PCI bus, etc. Remember that only one PCI initiator can have bus mastering at any one time. However, review the PCI priority and "fairness" rules. Also study the effects of the Latency Timer. Additionaly, be aware that the PCI priority strategy (round robin rotated, fixed priority, custom, etc.) is unique to each host PC and is explicitly not defined by the PCI standard. You must determine this priority scheme for your own PC (or replace it).
The interrupt request from the PCI controller can be optionally set up to indicate that this loanword count is complete although this can also be determined by polling the PCI controller.