MICROCHIP AN5489 PCI and PCIe Bus Cards User Guide

July 29, 2024
MICROCHIP

MICROCHIP-AN5489-PCI-and-PCIe-Bus-Cards-logo

MICROCHIP AN5489 PCI and PCIe Bus Cards

Specifications

  • Product: Microchip PCI/PCIe Bus Cards
  • Compatibility: NTPd software
  • Operating Systems: Linux

Product Usage Instructions

Bus Card Compatibility And Operating Systems
The Microchip bus card models are compatible with the NTPd software. Ensure you have the necessary SDKs for Linux from Microchip.

Step-By-Step Instructions for Microchip
Hardware Installation
Follow these steps for hardware installation:

  1. Locate an available PCI/PCIe slot on your host computer.
  2. Power off the computer and unplug it from the power source.
  3. Insert the Microchip bus card into the selected slot, ensuring it is firmly seated.
  4. Secure the card in place with the screw or clip provided.
  5. Close the computer case and reconnect any cables.
  6. Power on the computer.

Software Installation/Configuration
For software installation and configuration:

  1. Download the required SDK for your specific bus card model from MyMicrochip.
  2. Install the drivers as per the instructions provided in the SDK.
  3. Configure NTPd to recognize the bus card as a time reference.
  4. Follow any additional setup steps outlined in the SDK documentation.

FAQ

  • Are drivers for the bus cards available for free?
    Yes, all SDKs and drivers are available for free from MyMicrochip after registering on the platform.

  • Can NTPd obtain time from sources other than time servers?
    Yes, NTPd can obtain time from various sources including GPS clocks, radio clocks, and clocks installed on the computer PCI/PCIe bus using Reference Clock Drivers.

  • What operating systems are supported for using Microchip bus cards with NTPd?
    The Microchip bus cards are compatible with Linux operating systems for accurate clock steering with NTPd.

Introduction

The longstanding NTP daemon is a remarkable piece of software. Some think of it as a piece of software to serve time, others as a time client synchronization application. In truth, it is both timing server and timing client. As a time server or time client, it gets time from somewhere and steers the local clock of the host computer on which it is running. The clock- steering algorithms and controls for getting the time and steering the local clock work quite well.
What is different for NTPd running as a server is that it can obtain time from sources other than another time server. By using what is called as Reference Clock Drivers, NTPd can obtain time from GPS clocks, radio clocks, even clocks installed on the computer PCI/PCIe bus.
Reference clock drivers (ref clock drivers for short) are built into the NTPd software. Through proper configuration of the free NTPd and some free software from Microchip, very precise time can be obtained from the very accurate Microchip bus level PCI/PCIe timing cards and used to steer the local clock. This is particularly useful in precisely steering the clock of a Linux® computer that has a Microchip PCI/PCIe bus card installed.
The following figure outlines the use of NTP to accurately steer a local clock with a bus card time reference.

Figure 1. Steering a Local Clock with a Bus Card and NTP

This application note provides instructions on using NTPd and Microchip Bus Level PCI/PCI Express Cards to accurately steer a Linux based local clock.

Bus Card Compatibility And Operating Systems

The following Microchip bus card models are all compatible with the NTPd software. Different SDKs for Linux from Microchip may be required. All SDKs and drivers are available for free from MyMicrochip (after registering, perform a file search for your bus card model (for example, BC635PCIE). The search will take you to the product page. Under the Software section of the product page, you will find the drivers).

The following table lists the Microchip bus card models compatible with NTPd
Table 1-1. Microchip Bus Card Models Compatible with NTPd

PCI PCI Express PMC CPCI
bc635PCI * bc635PCIe bc635PMC* bc635CPCI*
bc637PCI* bc637PCIe bc637PMC* bc637CPCI*
bc635PCI-U*
bc637PCI-U*
bc635PCI-V2
bc637PCI-V2

**Note: *** These are our legacy bus card models compatible with NTPd, but are no longer available for purchase.

Step-By-Step Instructions for Microchip

The following sections provide step-by-step instructions for installing Microchip drivers and NTPd. This includes both hardware and the software installation instructions.

Hardware Installation
Install the Microchip bus card in the Linux computer by inserting it firmly on an empty PCI slot. You need a screwdriver to do this.

Software Installation/Configuration
Before beginning with the software installation, login as a Root user. Follow these instructions to complete the installation.

  1. Install bc635/637 driver per instructions in user manual or the README file.

    • Verify installation by running the bc63xPCIcfg program in the sample folder.
    • Verify that after rebooting the computer, the sample program operates properly. If not, then follow the instructions to add the module to the boot script.
  2. Copy the library file, libbcsdk.so, from the sample folder to /usr/lib/.

  3. Make a link to the device driver:
    ln –s /dev/windrvr6 /dev/btfp0

  4. Rename the driver name windrvr6 to the one you installed under the /dev directory.

  5. Download the NTP source code from www.ntp.org/downloads.html. Version 4.2.8p18 is used for this document.

  6. Before working on NTP, perform the following:

    • Run the demo program bc63xPCIcfg-so under the SDK sample directory to make sure the card is working correctly.
    • Issue command option 1 (Read Current Time) and it should show the binary time continuously.
      Notice it should show UTC time, not the local time. If not, use command option 15 to change local time offset to 0 to revert it to UTC, or option 8 to select binary time format.
  7. On NTP, perform the following:

    • Extract the downloaded source code:
      tar –xvzf ntp-4.2.8p18

    • Edit /etc/ntp.conf. If it does not exist, create one:
      Add the server line:
      server 127.127.16.0 prefer mode 2 burst minpoll 4 maxpoll 4
      You can remove the other server lines, or leave them as a backup time sources.

  8. Configure the build environment:
    cd
    ./configure –enable-BANCOMM
    Make sure the buscard SDK library will be linked to the ntpd daemon app:
    cat ntpd/Makefile | grep bcsdk
    You should see LIBS = -lbcsdk. If not, manually edit Makefile.

  9. Modify file ntpd/refclock_bancomm.c to comment out the “attribute weak”:
    extern uint32_t / attribute ((weak)) / bcReadBinTime(SYMMT_PCI_HANDLE, bcBinTimeT, bcBinTimeT, uint8_t);
    extern SYMMT_PCI_HANDLE /
    attribute ((weak)) / bcStartPci(void);
    extern void /
    attribute ((weak)) */ bcStopPci(SYMMT_PCI_HANDLE);

  10. Build the ntpd daemon. To do this, issue the following command at the top level of the source code:
    sudo make install
    This should build the ntpd daemon under the ntpd directory.

  11. Make sure no ntpd instance is currently running by using the following command ps -A | grep ntpd
    This command should show nothing. If not, follow these steps:

    • Use command killall ntpd to terminate the running instance.

    • Start the daemon app:
      cd ntpd
      sudo ./ntpd -g

    • Make sure only one ntpd instance is now running:
      $ ps -A | grep ntpd
      This command should show ntpd running.

  12. Query ntpd for its peers: ntpq –p

    • Should show GPS_BANC(0) under remote. If it does, the corresponding ‘reach’ value should change from zero, but if it does not change then the bus card is not reporting it is synchronized.
    • If GPS_BANC is not listed, then stop the ntpd and run it again with the –version option to make sure that the correct version of the daemon is being started.
  13. To verify the bus card is referenced after a system reset, stop NTPd:
    root:~# ps -ef | grep ntp
    root 17865 1 0 10:27 ? 00:00:00 ntpd -g root 17886 17869 0 10:27 pts/4 00:00:00 grep –color=auto ntp
    root:~# kill 17865

  14. Start ntp as a service: service ntpd start (If service is not found, substitute ntp for ntpd.

  15. Repeat step 11 to determine if the ntpd that is started as a service is the correct version. If it is, then the setup is complete. Otherwise, continue on.

  16. Determine where there are copies of ntpd:
    root:~# whereis ntpd
    ntpd: /usr/sbin/ntpd /usr/local/bin/ntpd /usr/share/man/man8/ntpd.8.gz

  17. Run each executable with –version tag to determine which executable is the old version:
    root:~# /usr/sbin/ntpd –version
    ntpd – NTP daemon program – Ver. 4.2.4p7 root:~# /usr/local/bin/ntpd –version ntpd – NTP daemon program – Ver. 4.2.8p18

  18. Remove/rename any executables that are not the current version, then create a symbolic link in their place to point to the correct version of the kernel:
    root:~# mv /usr/sbin/ntpd /usr/sbin/ntpd-old root:~# ln –s /usr/local/bin/ntpd /usr/sbin/ntpd

  19. Repeat step 13 and step 14 until it shows that the correct version is now being started as a service.

Verifying that NTP is Using the Bus Card for Time:
Executing ntpq -p at any time will report the peers that the NTP daemon is currently using.

  • If a connection refused message is returned, then the NTP daemon is not running and can be started as in step 13
  • Each row that is returned by ntpq -p is one peer that the NTP daemon may use, and the number of peers depends on your ntp.conf file
    • The bus card is represented as GPS_BANCOMM and should have the asterisk (*) next to it as this represents that it is currently the source that NTP is using for synchronization.
  • The reach column for the bus card should be close to 377.
    • This column specifies how successful the NTP daemon has been at reaching the source and ranges from 0 (unable to reach the last 8 attempts) to 377 (successfully reached for the last 8 attempts). If NTP has just been started, this value may be zero, but should start increasing within 20 seconds assuming the poll values were set to 4 as in step 7b.

Resources
This section lists the available resources to help you use the ntpd:

Contacting Technical Support

If you encounter any difficulty installing the update or operating the product, contact Microchip Frequency and Time Division (FTD) Services and Support at:

Region Address Contact Information
North and South America Microchip, Inc.

Frequency and Time Division 3870 N First Street
San Jose, CA 95134-1702|

Europe, Middle East, and Africa (EMEA)| Microchip FTD Services and Support EMEA
Altlaufstrasse 42
85635 Hoehenkirchen-Siegertsbrunn Germany|

Asia| Suite A201, 2nd Floor, West Wing, Wisma Consplant 2, No. 7, JalanSS16/1, 47500 Subang Jaya Selangor, Malaysia|

Revision History
The revision history describes the changes that were implemented in the document. The changes are listed by revision, starting with the most current publication.

Table 5-1. Revision History

Revision Date Description
A 07/2024 Initial Revision

Microchip Information

The Microchip Website
Microchip provides online support via our website at www.microchip.com/. This website is used to make files and information easily available to customers. Some of the content available includes:

  • Product Support – Data sheets and errata, application notes and sample programs, design resources, user’s guides and hardware support documents, latest software releases and archived software
  • General Technical Support – Frequently Asked Questions (FAQs), technical support requests, online discussion groups, Microchip design partner program member listing
  • Business of Microchip – Product selector and ordering guides, latest Microchip press releases, listing of seminars and events, listings of Microchip sales offices, distributors and factory representatives

Product Change Notification Service
Microchip’s product change notification service helps keep customers current on Microchip products. Subscribers will receive email notification whenever there are changes, updates, revisions or errata related to a specified product family or development tool of interest.
To register, go to www.microchip.com/pcn and follow the registration instructions.

Customer Support
Users of Microchip products can receive assistance through several channels:

  • Distributor or Representative
  • Local Sales Office
  • Embedded Solutions Engineer (ESE)
  • Technical Support

Customers should contact their distributor, representative or ESE for support. Local sales offices are also available to help customers. A listing of sales offices and locations is included in this document.
Technical support is available through the website at: www.microchip.com/support

Microchip Devices Code Protection Feature
Note the following details of the code protection feature on Microchip products:

  • Microchip products meet the specifications contained in their particular Microchip Data Sheet.
  • Microchip believes that its family of products is secure when used in the intended manner, within operating specifications, and under normal conditions.
  • Microchip values and aggressively protects its intellectual property rights. Attempts to breach the code protection features of Microchip product is strictly prohibited and may violate the Digital Millennium Copyright Act.
  • Neither Microchip nor any other semiconductor manufacturer can guarantee the security of its code. Code protection does not mean that we are guaranteeing the product is “unbreakable”. Code protection is constantly evolving. Microchip is committed to continuously improving the code protection features of our products.

Legal Notice

This publication and the information herein may be used only with Microchip products, including to design, test, and integrate Microchip products with your application. Use of this information in any other manner violates these terms. Information regarding device applications is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. Contact your local Microchip sales office for additional support or, obtain additional support at www.microchip.com/en-us/support/design-help/client-support- services.
THIS INFORMATION IS PROVIDED BY MICROCHIP “AS IS”. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE, OR WARRANTIES RELATED TO ITS CONDITION, QUALITY, OR PERFORMANCE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL, OR CONSEQUENTIAL LOSS, DAMAGE, COST, OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE INFORMATION OR ITS USE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP’S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THE INFORMATION OR ITS USE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THE INFORMATION.
Use of Microchip devices in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights unless otherwise stated.

Trademarks
The Microchip name and logo, the Microchip logo, Adaptec, AVR, AVR logo, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, and XMEGA are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
AgileSwitch, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus logo, Quiet- Wire, SmartFusion, SyncWorld, TimeCesium, TimeHub, TimePictra, TimeProvider, and ZL are registered trademarks of Microchip Technology Incorporated in the U.S.A.
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM, ECAN, Espresso T1S, EtherGREEN, EyeOpen, GridTime, IdealBridge, IGaT, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, MarginLink, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, mSiC, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, Power MOS IV, Power MOS 7, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAM-ICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-I.S., storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, Turing, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect, and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.
The Adaptec logo, Frequency on Demand, Silicon Storage Technology, and Symmcom are registered trademarks of Microchip Technology Inc. in other countries.
GestIC is a registered trademark of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip Technology Inc., in other countries.
All other trademarks mentioned herein are property of their respective companies.
© 2024, Microchip Technology Incorporated and its subsidiaries. All Rights Reserved.
ISBN: 978-1-6683-4846-8

Quality Management System
For information regarding Microchip’s Quality Management Systems, please visit www.microchip.com/quality.

Worldwide Sales and Service

AMERICAS ASIA/PACIFIC ASIA/PACIFIC EUROPE

Corporate Office
2355 West Chandler Blvd. Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technical Support: www.microchip.com/support
Web Address: www.microchip.com Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
Austin, TX
Tel: 512-257-3370
Boston Westborough, MA Tel: 774-760-0087
Fax: 774-760-0088
Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Novi, MI
Tel: 248-848-4000
Houston, TX
Tel: 281-894-5983
Indianapolis Noblesville, IN
Tel: 317-773-8323
Fax: 317-773-5453
Tel: 317-536-2380
Los Angeles Mission Viejo,
CA Tel: 949-462-9523
Fax: 949-462-9608
Tel: 951-273-7800
Raleigh, NC
Tel: 919-844-7510
New York, NY
Tel: 631-435-6000
San Jose, CA
Tel: 408-735-9110
Tel: 408-436-4270
Canada – Toronto
Tel: 905-695-1980
Fax: 905-695-2078| Australia – Sydney
Tel: 61-2-9868-6733
China – Beijing
Tel: 86-10-8569
7000
China – Chengdu
Tel: 86-28-8665-5511
China – Chongqing
Tel: 86-23-8980-9588
China – Dongguan
Tel: 86-769-8702-9880
China – Guangzhou
Tel: 86-20-8755-8029
China – Hangzhou
Tel: 86-571-8792-8115
China – Hong Kong SAR
Tel: 852-2943-5100
China – Nanjing
Tel: 86-25-8473-2460
China – Qingdao
Tel: 86-532-8502 7355
China – Shanghai
Tel: 86-21-3326-8000
China – Shenyang
Tel: 86-24-2334-2829
China – Shenzhen
Tel: 86-755-8864-2200
China – Suzhou
Tel: 86-186-6233-1526
China – Wuhan
Tel: 86-27-5980-5300
China – Xian
Tel: 86-29-8833-7252
China – Xiamen
Tel: 86-592-2388138
China – Zhuhai
Tel: 86-756-3210040| India – Bangalore
Tel: 91-80-3090-4444
India – New Delhi
Tel: 91-11-4160-8631
India – Pune
Tel: 91-20-4121-0141
Japan – Osaka
Tel: 81-6-6152-7160
Japan – Tokyo
Tel: 81-3-6880- 3770
Korea – Daegu
Tel: 82-53-744-4301
Korea – Seoul
Tel: 82-2-554-7200
Malaysia – Kuala
Lumpur
Tel: 60-3-7651-7906
Malaysia – Penang
Tel: 60-4-227-8870
Philippines – Manila
Tel: 63-2-634-9065
Singapore
Tel: 65-6334-8870
Taiwan – Hsin Chu
Tel: 886-3-577-8366
Taiwan – Kaohsiung
Tel: 886-7-213-7830
Taiwan – Taipei
Tel: 886-2-25088600
Thailand – Bangkok
Tel: 66-2-694-1351
Vietnam – Ho Chi
Minh
Tel: 84-28-5448-2100| Austria – Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
Denmark – Copenhagen
Tel: 45-4485-5910
Fax: 45-4485-2829
Finland – Espoo
Tel: 358-9-4520-820
France – Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Germany – Garching
Tel: 49-8931-9700
Germany – Haan
Tel: 49-2129-3766400
Germany – Heilbronn
Tel: 49-7131-72400
Germany – Karlsruhe
Tel: 49-721-625370
Germany – Munich
Tel: 49-89-627-144-0
Fax: 49-89-627-14444
Germany – Rosenheim
Tel: 49-8031-354-560
Israel – Hod Hasharon
Tel: 972-9-775-5100
Italy – Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Italy – Padova
Tel: 39-049-7625286
Netherlands – Drunen
Tel: 31-416-690399
Fax: 31-416-690340
Norway – Trondheim
Tel: 47-72884388
Poland – Warsaw
Tel: 48-22-3325737
Romania – Bucharest
Tel: 40-21-407-87-50
Spain – Madrid
Tel: 34-91-708-0890
Fax: 34-91-708-08-91
Sweden – Gothenberg
Tel: 46-31-704-60-40
Sweden – Stockholm
Tel: 46-8-5090-4654
UK – Wokingham
Tel: 44-118-921-5800
Fax: 44-118-921-5820

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals