An interactive wiring method for a membrane keyboard circuit board

By optimizing PIN line paths through interactive routing methods and the A* algorithm, the problem of relying on manual experience for routing membrane keyboard circuit boards is solved, achieving efficient automated routing, reducing costs, and providing good applicability to meet the needs of mass production.

CN115659902BActive Publication Date: 2026-04-14SUZHOU KEDE FLEXIBLE CIRCUIT BOARD CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-31
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

The wiring design of membrane keyboard circuit boards mainly relies on manual experience, which is inefficient and costly, cannot meet the needs of mass production, and lacks automated wiring tools and software support.

Method used

An interactive routing method is adopted, which combines the A* algorithm and local optimization strategy to automatically design the PIN line path. The routing queue Pin_seq is determined by manual adjustment and optimization, the optimal path is calculated, the routing parameters are comprehensively evaluated, and the optimal routing scheme is selected.

Benefits of technology

It achieves efficient and automated wiring of membrane keyboard circuit boards, reduces manual operation, lowers costs, has good applicability, and meets the needs of high-volume and rapid production.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115659902B_ABST
    Figure CN115659902B_ABST
Patent Text Reader

Abstract

The application discloses an interactive wiring method for a membrane keyboard circuit board, which comprises the following steps: preprocessing a keyboard layout, determining a common channel and wiring capacity thereof, constructing a contact set E K ; interactively adjusting a PIN line, and completing wiring of the PIN line from a power port to a corresponding contact; preferentially laying out a contact with a large number of connections, and / or a long distance, and / or a high contact distribution density, determining a plurality of wiring sequences and corresponding wiring queues Pin_seq; based on an A* algorithm, and / or a local optimization strategy, and / or an exhaustive algorithm, calculating an optimal path, automatically performing wiring design and synchronously updating an effective channel for different wiring queues Pin_seq in sequence until all wiring is completed; comprehensively evaluating wiring total lengths, jumper numbers and impedances of each scheme; and determining an optimal wiring scheme and further optimizing the same. The application has good applicability, high wiring efficiency and high accuracy, and reduces manual operation and cost.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of automated routing for thin-film circuit boards, and more particularly to an interactive routing method for thin-film keyboard circuit boards. background

[0002] With the rapid development of the flexible printed circuit (FPC) industry and its increasingly widespread application, the level of automation and intelligence of the entire industry has been improving year by year.

[0003] However, in the field of membrane keyboards, the manufacturing process is complex, involving the printing of various ink materials. Furthermore, the holes used for positioning or mounting mechanisms significantly impact the layout and routing. In addition, the wiring theory and algorithms for multi-contact connections are not yet fully developed. Therefore, the wiring design of membrane keyboard circuit boards is currently primarily manual, lacking the necessary tools and software. Wiring efficiency and quality largely depend on the experience and skills of the individual process designer, resulting in long lead times, low efficiency, and high costs, failing to meet the demands of high-volume, rapid production.

[0004] The above background information is provided only to assist in understanding the inventive concept and technical solution of this invention. It does not necessarily belong to the prior art of this patent application, nor does it necessarily provide technical teaching. In the absence of clear evidence that the above information was disclosed before the filing date of this patent application, the above background information should not be used to evaluate the novelty and inventiveness of this application. Summary of the Invention

[0005] The purpose of this invention is to provide an interactive wiring method for membrane keyboard circuit boards, which can achieve efficient and rapid completion of the overall wiring design of membrane keyboard circuit boards by mainly automatic wiring and supplementing it with manual wiring.

[0006] To achieve the above objectives, the technical solution adopted by the present invention is as follows:

[0007] An interactive wiring method for a membrane keyboard circuit board, used to connect PIN lines and corresponding keyboard contacts, characterized by comprising the following steps:

[0008] The layout is preprocessed to determine the common channels used for wiring and the wiring capacity of each channel, as well as the relevant contact information to form a set of contacts E to be connected. K ;

[0009] Interactively adjust the PIN lines to route them through the power interface to the upper / lower circuit board and connect them to the corresponding contacts, and manually adjust the PIN lines in non-standardized areas.

[0010] Determine the order of wiring and its corresponding wiring queue Pin_seq according to the principle that the number of contact connections in the preferred layout is large, and / or the contact distance is far, and / or the contact distribution density is high;

[0011] Based on the A* algorithm, and / or the strategy of local optimization, and / or the exhaustive algorithm, calculate the optimal path, and successively conduct automatic routing design for the PIN lines and synchronously update the effective channels in the order of the wiring queue Pin_seq until all wiring is completed. The effective channel is a common channel with an unfilled wiring capacity;

[0012] Comprehensively evaluate the wiring parameters of the wiring scheme. The wiring parameters include the total length of the wiring, the number of jumpers, and the impedance;

[0013] Design different wiring queues Pin_seq and complete the corresponding wiring schemes. Select the wiring scheme with the optimal wiring parameters from multiple wiring schemes, and further adjust and optimize the best wiring scheme.

[0014] Further, based on any one of the foregoing technical solutions or a combination of multiple technical solutions, the steps for automatic routing design of the PIN lines include:

[0015] Select the PIN line that currently requires routing design from the Pin_seq queue;

[0016] Set the target topological connection line, initially empty;

[0017] Calculate the distance between the endpoint of any PIN line and any contact that is not connected to the PIN line. Select the two points with the shortest distance, design their routing paths, and add them to the target topological connection line;

[0018] Calculate the distance between the endpoints of the remaining PIN lines and any contact that is not connected to the PIN lines, and the distance from any contact that is not connected to the PIN lines to the target topological connection line according to local optimality, or the A* algorithm, or the exhaustive algorithm. Select the design routing path corresponding to the minimum distance and add it to the target topological connection line, and update the effective channel; repeat this step until the routing of the PIN lines is completed.

[0019] Further, based on any one of the foregoing technical solutions or a combination of multiple technical solutions, the steps for determining the number of jumpers in the wiring scheme are:

[0020] Optionally select a common channel or a channel intersection, and sort all the key endpoints key_P of the lines in terms of orientation and define their sizes to form a queue Cross_seq<key_P>. Set the indices of the corresponding key endpoints of two lines as <i,j> and <m,n>, where i < j and m < n. Then, when one of the following conditions is met, there is a jumper, and count the number of jumpers at this channel intersection:

[0021] Condition 1:i<m&&j> m&&j <n

[0022] Condition 2: i > m && i<n&&j> n

[0023] In condition 1, i lies in the interval<m,n> The outside, while j is inside the interval; in condition 2, i is inside the interval.<m,n> Inside, while j is outside the interval;

[0024] Calculate the number of jumpers at the remaining intersections in sequence;

[0025] The total number of jumpers is calculated by counting the number of jumpers at all intersections of the passageways.

[0026] Furthermore, following any one or a combination of the aforementioned technical solutions, the key endpoints key_P on the public channel are sorted and their sizes defined according to linear orientation. The linear orientation arrangement includes sorting from left to right, from right to left, from top to bottom, or from bottom to top. The linear orientation size definition includes setting left larger than right, or left smaller than right, or top larger than bottom, or top and bottom larger.

[0027] For the key endpoints key_P at the intersection of the passage, sort them by circumferential orientation and define their size. The circumferential orientation sorting includes sorting in a clockwise direction or in a counterclockwise direction. The circumferential orientation size definition includes setting each key endpoint to increase in size in a clockwise direction or in a counterclockwise direction.

[0028] Furthermore, following any one or a combination of the aforementioned technical solutions, the preprocessing steps for keyboard wiring include:

[0029] The contact information is stored in a set K(row,col,loc,comm), where (row,col) is the logical position information of the contact, row corresponds to its row number, col corresponds to its column number, loc is the actual physical position information of the contact, and comm is the description information related to the opening of the contact, which is related to the arrangement of objects next to the contact.

[0030] The common channel includes a horizontal channel for possible wiring and a vertical channel between adjacent horizontal contacts. The horizontal channel is set as the main channel, and the vertical channel is set as the auxiliary channel.

[0031] The cabling capacity of the common channel is calculated using the following formula:

[0032] nComm=(d C -d N ) / (d N +d W )

[0033] Where, d C d is the width of the public passageway. W d is the line width. N This represents the minimum distance between the adjacent line and the target.

[0034] Furthermore, based on any one or a combination of the aforementioned technical solutions, interactive adjustment of the PIN line includes:

[0035] Some PIN wires are connected to the contacts of the bottom flexible board through the non-standardized area, while other PIN wires are connected to the upper flexible board through the ACF layer and then extended to the main channel to connect to the corresponding contacts.

[0036] Furthermore, based on any one or a combination of the aforementioned technical solutions, the formula for calculating the number of contact connections is as follows:

[0037] Pin_num(i)=num(E P (i))

[0038] Among them, E P (i) represents the set of contacts connected to the i-th PIN, num(E P (i) represents the set E P Pin_num(i) represents the number of elements in pin i, where Pin_num(i) represents the number of contacts connected to the i-th pin.

[0039] Furthermore, based on any one or a combination of the aforementioned technical solutions, the formula for calculating the contact density is as follows:

[0040] Pin_centre(i)=(ΣK ij .loc+K0.loc) / (Pin_num(i)+1),K ij ∈E P (i)

[0041] Pin_density(i)=(Pin_num(i)+1) / (ΣDist(K ij .loc,Pin_centre(i))+Dist(K0.loc,Pin_centre(i))),

[0042] K ij ∈E P (i)

[0043] Where Pin_centre(i) represents the average center coordinates of the PIN line layout, K ij .loc represents contact K ijThe physical coordinates of endpoint K0 are given by K0.loc, Pin_density(i) represents the density of the pin distribution, Pin_num(i) represents the number of connected targets for the i-th pin, and Dist(K ij .loc,Pin_centre(i)) represents contact point K ij Dist(K0.loc, Pin_centre(i)) represents the distance from endpoint K0 to the average center coordinate of the PIN layout.

[0044] Furthermore, based on any one or a combination of the aforementioned technical solutions, the formula for calculating the contact distance is:

[0045] Pin_dist(i)=∑Dist(K ij .loc,Pin_centre(i)) / Pin_num(i),Kij∈EP(i)

[0046] Where Pin_dist(i) represents the average distance between the PIN line and each contact point, and Dist(K) represents the average distance between the PIN line and each contact point. ij .loc,Pin_centre(i)) represents contact point K ij The distance to the average center coordinate of the PIN layout, Pin_num(i) represents the number of connection targets for the i-th PIN.

[0047] Furthermore, based on any one or a combination of the aforementioned technical solutions, the formula for calculating the total wiring length is as follows:

[0048] Layout_Length=Sum(Pin_PolyLine(i))

[0049] Layout_Length represents the total wiring length, which is the sum of the wiring lengths of each PIN line.

[0050] The beneficial effects of the technical solution provided by this invention are as follows:

[0051] a. The membrane keyboard circuit board wiring design method proposed in this invention is mainly automated, with manual assistance for preprocessing, adjustment and optimization of keyboard wiring. It is highly efficient, has good applicability, reduces manual operation and costs, and can meet the needs of mass production.

[0052] b. A technical indicator for PIN line sorting is proposed, namely, determining the routing queue Pin_seq according to the principle of prioritizing the layout of PIN lines with a large number of contact connections and / or a long contact distance and / or a dense contact distribution, which makes the routing design method more accurate.

[0053] c. An automatic calculation method for the number of jumpers is proposed, and the wiring scheme of the membrane keyboard circuit board designed by this method is reasonable and efficient. Attached Figure Description

[0054] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0055] Figure 1 A flowchart of an interactive wiring method for a thin-film keyboard circuit board provided as an exemplary embodiment of the present invention;

[0056] Figure 2 A schematic diagram illustrating the wiring capacity principle of a common channel provided as an exemplary embodiment of the present invention;

[0057] Figure 3 A schematic diagram illustrating the distribution of key endpoints at a passageway intersection, provided as an exemplary embodiment of the present invention;

[0058] Figure 4(a) is a schematic diagram of the jumper wires at a passageway intersection provided in an exemplary embodiment of the present invention;

[0059] Figure 4(b) is a schematic diagram of the sequence of key endpoints of the line in Figure 4(a). Detailed Implementation

[0060] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0061] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, apparatus, product, or device that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or devices.

[0062] See Figure 1 This invention provides an interactive wiring design method for membrane keyboard circuit boards, used to connect PIN lines and corresponding keyboard contacts, including the following steps:

[0063] The layout is preprocessed to determine the common channels used for wiring and the wiring capacity of each channel, as well as the relevant contact information to form a set of contacts E to be connected. K ;

[0064] The PIN lines are interactively adjusted so that they pass through the power interface and are routed to the upper / lower circuit board and connected to the corresponding contacts. The PIN lines in non-standard areas are manually adjusted. These non-standard areas include areas with many electrical components, dense wiring intersections, and complex wiring paths. Non-standard areas can usually be determined according to the specifications in the printed circuit board design manual, and their location and range will be noted in the design document.

[0065] Based on the principles of prioritizing the layout of contacts with a large number of connections, and / or contacts with a long distance, and / or contacts with a high density of distribution, determine the order of wiring and its corresponding wiring queue Pin_seq;

[0066] Based on the A* algorithm, and / or local optimization strategies, and / or exhaustive algorithms, the optimal path is calculated, and the PIN lines are automatically routed and the effective channels are updated synchronously according to the order of the routing queue Pin_seq until all routing is completed. The effective channels are common channels with unfilled routing capacity. The A* algorithm, also known as the A-Star algorithm, is a direct search method that is most efficient in finding the shortest path in a static road network. The closer the distance estimate in the algorithm is to the actual value, the faster the final search speed.

[0067] A comprehensive evaluation of the cabling parameters of the cabling scheme is conducted, including the total length of the cabling, the number of patch cords, and the impedance.

[0068] Design different routing queues Pin_seq and complete the corresponding routing schemes. Select the routing scheme with the optimal routing parameters from multiple routing schemes, and further adjust and optimize the best routing scheme.

[0069] The membrane keyboard circuit board wiring design method proposed in this invention is mainly automated, with manual assistance for preprocessing, adjustment and optimization of keyboard wiring. It has good applicability and high efficiency, can effectively reduce manual operation and reduce costs, and can meet the needs of mass production.

[0070] Furthermore, the goal of keyboard routing is to connect the pins to the corresponding keyboard contacts. From a graphical topology perspective, it is necessary to determine the connection points and wires. Considering the numerous influencing factors in actual routing, which makes the calculation process complex and difficult to perform, some preprocessing will be done on the keyboard layout diagram to be routed, mainly for appropriate simplification, while constructing the relevant logic layout diagram. The steps for preprocessing the keyboard layout diagram include:

[0071] Determine the information for each contact point, including its row and column layout, corresponding spatial coordinates, and internal space. For a very small number of contacts, such as the Enter contact point, which may span multiple rows, to simplify processing, it can be considered as a contact point in any one row. Store the contact point information in a set K(row,col,loc,comm), where (row,col) is the logical position information of the contact point, row corresponds to its row number, col corresponds to its column number, loc is the actual physical position information of the contact point, and comm is the descriptive information related to the opening of the contact point, which is related to the arrangement of objects next to the contact point. All contacts form a contact point set E. K .

[0072] Identify the common channels for all possible wiring routes, and divide the common channels into horizontal channels and vertical channels between adjacent horizontal contacts according to the layout characteristics of the keyboard. The horizontal channels are set as the main channels and the vertical channels are set as auxiliary channels. During subsequent automatic wiring, the wiring path is preferably through the main channels.

[0073] See Figure 2 The cabling capacity of the common channel is calculated using the following formula:

[0074] nComm=(d C -d N ) / (d N +d W )

[0075] Where, d C d is the width of the public passageway. W The line width is typically set to 0.2-0.4 mm; d NThis represents the minimum distance between the adjacent line and the target.

[0076] During subsequent cabling, if the number of cablings in a certain common channel does not reach its cabling capacity, then the common channel is a valid channel; if it has reached its cabling capacity, then it is an invalid channel and cabling will not be carried out in that channel.

[0077] Furthermore, after completing the keyboard layout preprocessing, the PIN lines are interactively adjusted, that is, the PIN lines are adjusted so that they extend from the specified PIN interface (power interface) to the corresponding flexible circuit layer (there are generally two layers of circuits inside the keyboard), and connect to the corresponding contacts in the main channel or auxiliary channel of the corresponding flexible circuit layer.

[0078] Specifically, there are typically 24-40 pins. A portion of these pins (approximately 2 / 3 of the total) are routed through a non-standardized area to connect with the contacts on the bottom flexible board. The remaining pins (approximately 1 / 3 of the total) are routed through an anisotropic conductive film (ACF) layer to the upper flexible board and connect with the contacts. This part of the operation is automated by a computer program. The pin adjustment area is usually a non-standardized area, including but not limited to areas with many electrical components, dense wiring intersections, and complex wiring paths. Pin adjustment in non-standardized areas is complex to model and analyze; therefore, this process can be manually designed based on experience. After interactively adjusting the pins, all contacts connected to each pin are set as the endpoint set E. D Set all contacts not connected to the PIN line as an independent contact set E S (E K =E D ∪E S Subsequently, it is only necessary to set the endpoints E D With the contact set E S Connect the points in the diagram.

[0079] Further, the routing order needs to be determined, i.e., the routing queue Pin_seq needs to be established. Before actual routing, a reasonable routing order must be determined. Generally, pins with more contact connections, higher density, and / or greater contact distance are prioritized to minimize routing distance and potential jumper attempts. A computer program can automatically calculate the parameters of each pin, including contact connection number, density, and distance, and determine a suitable sorting method. Alternatively, relevant routing sorting parameters can be manually adjusted based on experience, ultimately determining the routing queue Pin_seq.

[0080] The contact connection number refers to the number of contacts connected to one of the PIN lines. It affects the length and complexity of the wiring; generally, the more contact connections, the longer and more complex the wiring needs to be. The i-th PIN line (Pin i The formula for calculating the number of contact connections is:

[0081] Pin_num(i)=num(E P (i))

[0082] Among them, E P (i) represents the set of contacts connected to the i-th PIN, num(E P (i) represents the set E P The number of elements in (i), where Pin_num(i) represents the number of elements in Pin. i The number of contact connections.

[0083] The contact density refers to the density of the PIN wires and contacts; the denser the distribution, the more concentrated the wiring area. The formula for calculating the contact density is:

[0084] Pin_centre(i)=(ΣK ij .loc+K0.loc) / (Pin_num(i)+1),K ij ∈E P (i)

[0085] Pin_density(i)=(Pin_num(i)+1) / (ΣDist(K ij .loc,Pin_centre(i))+Dist(K0.loc,Pin_centre(i))),

[0086] K ij ∈E P (i)

[0087] Where Pin_centre(i) represents the average center coordinates of the PIN line layout, K ij .loc represents contact K ij The physical coordinates of endpoint K0 are given by K0.loc, Pin_density(i) represents the density of the pin distribution, Pin_num(i) represents the number of connected targets for the i-th pin, and Dist(K ij .loc,Pin_centre(i)) represents contact point K ij Dist(K0.loc, Pin_centre(i)) represents the distance from endpoint K0 to the average center coordinate of the PIN layout.

[0088] The formula for calculating the contact distance is:

[0089] Pin_dist(i)=∑Dist(K ij .loc,Pin_centre(i)) / Pin_num(i),Kij∈EP(i)

[0090] Where Pin_dist(i) represents the average distance between the PIN line and each contact point, and Dist(K) represents the average distance between the PIN line and each contact point. ij .loc,Pin_centre(i)) represents contact point K ij The distance to the average center coordinate of the PIN layout, Pin_num(i) represents the number of connection targets for the i-th PIN.

[0091] Furthermore, the PIN lines are automatically routed sequentially according to the order of the Pin_seq queue, including the following steps:

[0092] Select the PIN line that needs to be routed in the current Pin_seq queue;

[0093] Set the target topology connection as Pin_PolyLine, initially empty;

[0094] Calculate the endpoints of any PIN line (endpoint set E) D From any point in the set of independent contacts (E) to any contact not connected to the PIN line. S Given any two points in the network, select the two points with the shortest distance, design their wiring paths, and add them to the topology connection Pin_Polyline to form Pin_Polyline1. Then, connect the contacts already connected to the topology connection Pin_Polyline1 to the endpoint set E. D and the set of independent contacts E S Delete;

[0095] Calculate the distance between the endpoints of the remaining PIN lines and any contact not connected to a PIN line, and the distance between any contact not connected to a PIN line and the target topology connection Pin_PolyLine1. Select the wiring path corresponding to the minimum distance and add it to the target topology connection Pin_PolyLine1 to form topology connection Pin_PolyLine2. Then, connect the contacts already connected to topology connection Pin_PolyLine2 from the endpoint set E. D Or independent contact set E S Delete; repeat this step until the contact set E is reached. K All contacts are added to the topology connection, meaning the PIN line routing is complete.

[0096] It should be noted that during the cabling process, cabling is only carried out in effective channels (channels where the number of traces has not reached their cabling capacity); when the number of traces in any common channel reaches its cabling capacity, the channel is saturated and becomes an ineffective channel, and subsequent PIN lines should avoid that channel.

[0097] In practical applications, the distance between any two contacts, or the distance from a contact to a topologically continuous path, can be calculated using the A* (A-star) algorithm, and / or local optimization strategies, and / or exhaustive algorithms to find the optimal path. During the calculation process, manual settings can also be introduced to allow wiring to bypass areas with densely distributed electrical components or obstructions, such as locations with mounting holes.

[0098] A comprehensive evaluation of the routing scheme's parameters is conducted after all pins are routed according to a specific pin_seq queue. The physical parameters of the routing are then statistically analyzed, including the total routing length, the number of patch cords, and the impedance. The formula for calculating the total routing length is as follows:

[0099] Layout_Length=Sum(Pin_PolyLine(i))

[0100] Layout_Length represents the total wiring length, which is the sum of the wiring lengths of each PIN line.

[0101] Jumper wires are related to the manufacturing process. In practical designs, it's generally desirable to minimize their number because they increase process complexity and cost, and can even affect yield. When different pins pass through the same channel or channel intersection area, several lines may exist. If these lines do not intersect, there is no conflict; if they do, jumpers are needed to avoid line conflicts. See also Figure 3 This is a schematic diagram showing the distribution of key endpoints at a passageway intersection. The horizontal passageway has a capacity of 3 and a total of 3 sets of endpoints, while the vertical passageway has a capacity of 2 and a total of 2 sets of endpoints.

[0102] In cabling design, for each channel and channel intersection, we can first analyze the maximum number of non-intersecting lines in each type of line, that is, the number of lines without internal conflicts. These lines can be planned for printing on the bottom layer. Other lines that intersect with these bottom-layer printed lines are set as patch cords, and their number is the number of patch cords for that channel and channel intersection. The number of patch cords for a single channel intersection should not be too many, generally not exceeding one.

[0103] The present invention proposes a jumper calculation method. Arbitrarily select a channel intersection, choose one point as the starting point, sort all the key endpoints key_P of the lines according to their azimuths and define their magnitudes. Specifically, taking a point in the middle of the channel intersection as the center of a circle, set the key endpoints key_P of the lines to increase in the clockwise direction; or set the key endpoints key_P of the lines to decrease in the clockwise direction to form a queue Cross_seq<key_P>. Arbitrarily select two lines, and set the indices of the corresponding key endpoints of the two lines as <i, j> and <m, n>, where i < j and m < n. When one of the following conditions is met, there is a jumper, and count the number of jumpers at this channel intersection:

[0104] Condition 1: i < m && j > m && j < n

[0105] Condition 2: i > m && i < n && j > n

[0106] In Condition 1, i is outside the interval <m, n>, while j is inside the interval; in Condition 2, i is inside the interval <m, n>, while j is outside the interval.

[0107] Specifically, assume that the contact distribution around a certain channel intersection is as shown in Fig. 4(a). Select one contact as the starting point, that is, contact H1 as the starting point, sort and define the magnitudes of the endpoints corresponding to all the lines at this channel intersection in ascending order in the clockwise direction to form a queue Cross_seq<key_P>. Refer to Fig. 4(b). The formed queue in this embodiment is Cross_seq<H2, V1, H5, H6, V3, V4>, where H2 < V1 < H5 < H6 < V3 < V4. The indices corresponding to the endpoints of the three lines are <H6, V3>, <H2, H5>, and <V1, V4> respectively. Among them, the lines <V1, V4> and <H2, H5> satisfy Condition 2:

[0108] V1 > H2 && V1 < H5 && V4 > H5

[0109] Therefore, the lines <H5, H2> and <V4, V1> need to adopt a jumper design. Any other two lines do not satisfy Condition 1 or Condition 2, so no jumper design is required. Then the number of jumpers at this channel intersection is 1.

[0110] It should be noted that this jumper calculation method is applicable not only to crossroads and T-junctions, but also to jumper calculations on a single common passage. For crossroads or T-junctions, taking any point in the middle of the intersection as the center, select one of the critical endpoints as the starting point, and increment all critical endpoints key_P clockwise; alternatively, set the critical endpoints key_P to decrease clockwise, forming a queue Cross_seq.<key_P> For sorting the critical endpoints key_P on a single common channel, any point outside the common channel can be chosen as the center. One critical endpoint can be selected as the starting point, and the other critical endpoints key_P form an angle with the starting point. Based on the size of this angle, all critical endpoints key_P can be sorted and their sizes defined according to their circumferential orientation. All critical endpoints key_P can be set to increase clockwise or decrease clockwise, forming a queue Cross_seq.<key_P> .

[0111] In another embodiment of the present invention, the jumper calculation for a single common channel differs from the above embodiment in that the key endpoints key_P of the line are sorted and their sizes defined according to their orientation in the circumferential direction. Instead, the key endpoints key_P of the line on the common channel are sorted and their sizes defined according to their linear orientation. Specifically, for a horizontal common channel, the key endpoints key_P are set to increase or decrease from left to right, forming a queue Cross_seq.<key_P> For vertical public passages, key endpoints (key_P) are set to increment or decrease from top to bottom, forming a queue (Cross_seq).<key_P> .

[0112] Calculate the number of jumpers for the remaining channels and channel intersections sequentially; the total number of jumpers is the total number of jumpers for this wiring scheme. Traditional jumper design and calculation usually require manual intervention. The automatic jumper calculation method described above can improve the efficiency of automatic wiring design and the rationality of automatic wiring design schemes for membrane keyboard circuit boards.

[0113] Furthermore, different routing queues (Pin_seq) are selected for routing design to form corresponding routing schemes. The routing scheme with the optimal routing parameters is selected from multiple schemes, and the optimal routing scheme is adjusted and optimized based on the actual circuit board manufacturing process. Specific steps include:

[0114] Design multiple routing schemes, each with a different PIN order (i.e., routing queue Pin_seq), and route the wires sequentially to obtain the corresponding routing schemes and collect the corresponding routing parameters.

[0115] Choose the best layout from all routing options, which has the best routing parameters, such as shorter length, fewer patch cords, and impedance that meets the requirements.

[0116] The best layout is manually adjusted and optimized. During preprocessing, interfering factors are appropriately simplified, and in the final optimization stage, routing needs to be adjusted according to actual conditions. For example, mechanical holes can affect the routing of channels, and the optimization process needs to avoid such holes; the impedance is too high when the line makes a right-angle turn, so the turning route needs to be adjusted. Routing involves many engineering details, and for other reasons, the overall layout routing needs to be carefully adjusted until it meets the engineering requirements of the final circuit board design.

[0117] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0118] The above description is only a specific embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. An interactive wiring method for a membrane keyboard circuit board, used to connect PIN lines to corresponding keyboard contacts, characterized in that, Includes the following steps: The layout is preprocessed to determine the common channels used for wiring and the wiring capacity of each channel, as well as the relevant contact information to form a set of contacts E to be connected. K ; The PIN lines are interactively adjusted so that they pass through the power interface and are routed to the upper / lower circuit boards and connected to the corresponding contacts. The PIN lines in the non-standardized areas are manually adjusted. The interactive adjustment of the PIN lines includes: making some PIN lines pass through the non-standardized areas and connect to the contacts of the bottom flexible board, and making other PIN lines pass through the ACF layer to enter the upper flexible board and then extend to the main channel to connect to the corresponding contacts. Based on the principles of prioritizing the layout of contacts with a large number of connections, and / or contacts with a long distance, and / or contacts with a high density of distribution, determine the order of wiring and its corresponding wiring queue Pin_seq; The optimal path is calculated based on the A* algorithm and / or a local optimization strategy and / or an exhaustive algorithm. The PIN lines are automatically routed and the effective channels are updated synchronously according to the order of the routing queue Pin_seq until all routing is completed. The effective channels are the common channels that are not fully utilized in the routing capacity. A comprehensive evaluation of the cabling parameters of the cabling scheme is conducted, including the total length of the cabling, the number of patch cords, and the impedance. Design different routing queues Pin_seq and complete the corresponding routing schemes. Select the routing scheme with the optimal routing parameters from multiple routing schemes, and further adjust and optimize the best routing scheme.

2. The interactive wiring method for a membrane keyboard circuit board according to claim 1, characterized in that, The steps for automating PIN routing design include: Select the PIN line from the Pin_seq queue that needs to be routed; Define the target topology connections; initially, the topology is empty. Calculate the distance between any pin endpoint and any contact not connected to the pin, select the two points with the shortest distance, design their wiring path, and add it to the target topology connection; Using a local optimum, A* algorithm, or exhaustive algorithm, calculate the distance between the endpoint of the remaining PIN line and any contact not connected to the PIN line, and the distance between any contact not connected to the PIN line and the target topology connection. Select the wiring path corresponding to the minimum distance and add it to the target topology connection, and update the effective channels. Repeat this step until the PIN line routing is completed.

3. The interactive wiring method for a membrane keyboard circuit board according to claim 1, characterized in that, The steps for determining the number of patch cords in the wiring scheme are as follows: Choose any public passage or passageway intersection, and sort all critical endpoints key_P by location and define their size to form a queue Cross_seq.<key_P> Set the indices of the corresponding critical endpoints of the two lines to < i,j > and < m,n >, among which i <j , m <n If one of the following conditions is met, then there is a jumper, and the number of jumpers at the intersection of the channel is counted: Condition 1: i<m&&j> m&&j <n ; Condition 2: i > m && i<n&&j> n ; In condition 1, i Located in the interval <m,n> External, and j Located inside the interval; in condition 2, i Located in the interval <m,n> Inside, and j Located outside the interval; Calculate the number of jumpers for the remaining channels and channel intersections in sequence; The total number of jumpers is calculated by counting the number of jumpers in all channels and at channel intersections.

4. The interactive wiring method for a membrane keyboard circuit board according to claim 3, characterized in that, The key endpoint key_P of the line can be sorted by location and its size defined, including setting the key endpoint key_P to increase in a clockwise direction; or setting the key endpoint key_P to decrease in a clockwise direction.

5. The interactive wiring method for a membrane keyboard circuit board according to claim 1, characterized in that, The preprocessing steps for keyboard wiring include: The contact information is stored in a set K(row,col,loc,comm), where (row,col) is the logical position information of the contact, row corresponds to its row number, col corresponds to its column number, loc is the actual physical position information of the contact, and comm is the description information related to the opening of the contact, which is related to the arrangement of objects next to the contact. The common channel includes a horizontal channel for possible wiring and a vertical channel between adjacent horizontal contacts. The horizontal channel is set as the main channel, and the vertical channel is set as the auxiliary channel. The cabling capacity of the common channel is calculated using the following formula: nComm=(d C -d N ) / (d N +d W ) ; in, d C For the width of the public passageway, d W Line width; d N This represents the minimum distance between the adjacent line and the target.

6. The interactive wiring method for a membrane keyboard circuit board according to claim 1, characterized in that, The formula for calculating the number of contact connections is: Pin_num(i)=num(E P (i)) ; in, E P (i) Indicates the first i A set of contacts connected by a PIN line. num(E P (i)) Represents a set E P (i) The number of elements, Pin_num(i) Indicates the first i Number of contacts connected to each PIN wire.

7. The interactive wiring method for a membrane keyboard circuit board according to claim 1, characterized in that, The formula for calculating the contact density is: Pin_centre(i) = ( S K ij .loc+K 0 .loc) / (Pin_num(i)+1),K ij ∈E P (i) ; Pin_density(i)=(Pin_num(i)+1) / ( S Dist(K ij .loc,Pin_centre(i))+Dist(K 0 .loc, Pin_centre(i)), K ij ∈E P (i) ; in, Pin_centre(i) This represents the average center coordinates of the PIN line layout. K ij .loc Indicates contact point K ij physical coordinates K 0 .loc Indicates endpoint K 0 physical coordinates Pin_density(i) This indicates the density of the PIN lines and contact points. Pin_num (i) Indicates the first i Number of pin connections per target, Dist(K ij .loc,Pin_centre(i)) Indicates contact point K ij The distance to the average center coordinate of the PIN line layout. Dist(K 0 .loc, Pin_centre(i)) Indicates endpoint K 0 The distance to the average center coordinate of the PIN line layout.

8. The interactive wiring method for a membrane keyboard circuit board according to claim 1, characterized in that, The formula for calculating the contact distance is: Pin_dist(i) = ∑Dist(K ij .loc,Pin_centre(i)) / Pin_num(i),Kij∈EP(i) ; in, Pin_dist(i) This indicates the average distance between the PIN line and each contact point. Dist(K ij .loc,Pin_centre(i)) Indicates contact point K ij The distance to the average center coordinate of the PIN line layout. Pin_num(i) Indicates the first i Number of pin connections.

9. The interactive wiring method for a membrane keyboard circuit board according to claim 1, characterized in that, The formula for calculating the total length of the wiring is: Layout_Length=Sum(Pin_PolyLine(i)) ; in, Layout_Length This indicates the total wiring length, which is the sum of the wiring lengths of each PIN line.

Citation Information

Patent Citations

  • Multi-strategy optimization-based multi-layer overall wiring method for super-large-scale integrated circuit

    CN113657067A

  • Interactive editing method and tool for simulating circuit layout wiring

    CN114510900A